- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试制作一个 agar.io 使用 javaScript 和 p5js 进行克隆。 这是 link在 github 上获取该项目的完整源代码。现在,我已经掌握了游戏的基本要点,但现在我正在尝试添加弹出/分割(在游戏中,按 W 会发生弹出)。但是喷射/w 工作不正常——基本上,它向错误的方向发射 w,通常靠近 Blob 。这是弹射(W)相对于 Blob 位置的部分(W 发射的位置,[应该朝鼠标的方向发射]):
this.update = function() {
let newvel = createVector(mouseX-width/2, mouseY-height/2);
newvel.setMag(speed);
this.vel.lerp(newvel, 0.2);
this.pos.add(this.vel);
}
let pos = createVector(mouseX - (this.pos.x + this.vel.x), mouseY - (this.pos.y + this.vel.y));
不要担心一些额外的变量/未调用的函数(lerp、createVector、setMag和add都是p5JS函数),代码太长所以我只放了更新函数的部分以及代码的“设置W的位置”部分。 “this.vel”基本上是速度,所以我将它包含在W的新位置中,因为当 Blob 移动时,W可能会立即被吃掉。但它仍然向错误的方向发射……确实需要解决这个问题……我尝试了一切,比如
pos = createVector(mouseX - 宽度/2, mouseY - 高度/2);
但是尽管如此,它仍然将 W 发射到错误的方向。 不幸的是,我不太确定如何以逻辑的方式解决这个问题:(
注意:我还使用 translate 函数将 Blob 从初始位置 (0, 0)
居中到 translate(width/2,高度/2)
最佳答案
按照您编写的方式,使用n-displacementmouseX和mouseY
处弹出的 Blob 不会有什么坏处>,以及限制 Blob 在 map 当前视口(viewport)上的位置的 constrain 函数,减去 Blob 与光标之间的距离(通过使用 dist 函数)。如果您希望动画过程更平滑,并且曲率方面更精确,您可以使用 lerp其上的功能。弄清楚如何排序这些步骤很简单。首先在渲染之前通过平移获得规则平面坐标,然后使用lerp积分曲线以避免遗漏精度 (在进行计算和约束之后)。
关于javascript - 使用 P5JS 的 Agar.io 克隆未弹出(W)正确方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39072838/
我想制作一个边缘有涟漪效果的圆圈,有点像游戏中的 agar.io 。我对如何实现它有点迷失。显然我不能只使用 g.fillOval() 因为这会绘制一个边缘没有移动的实心圆。 我不是要求任何人为我编写
我正在尝试让 agar.io 显示在 HTML 页面中且没有任何错误。我已经有了该页面和 设置但 agar.io 未显示。如何让 agar.io 出现? 最佳答案 Agar.io 作者绝对不希望他们的
我真的很喜欢他们创造在线游戏 agario 的方式。我一直在想:“他们是如何为边缘创造这种涟漪效应的?” 我能想到的有几点: 1) 边框由许多矢量点组成,因此允许灵活的边框动画。 2) 边框是预定义的
如果这里有人以前玩过 Agar.io,您可能会熟悉镜头移动的方式。它会根据鼠标距屏幕中心的距离向鼠标滑动。我正在尝试使用 SKCameraNode 和 touchesMoved 重新创建此移动: ov
我尝试制作一个 agar.io 使用 javaScript 和 p5js 进行克隆。 这是 link在 github 上获取该项目的完整源代码。现在,我已经掌握了游戏的基本要点,但现在我正在尝试添加弹
我是一名优秀的程序员,十分优秀!