【问题标题】:Bouncing Ball Border Glitch弹跳球边界故障
【发布时间】:2020-07-30 14:15:19
【问题描述】:

我正在做一个弹跳球模拟,它使用 0.98 作为重力(可以正常工作),但有时球会卡在墙上(顶部、底部、左侧或右侧),它的速度为 0并且只是正常的yspeed(反之亦然)。我一直试图通过限制速度来调整它,但这似乎并不像我希望的那样有效。我目前将其设置为在每次球在地板上连续 100 帧后重置。这是我在 p5.js 上的代码的链接:https://editor.p5js.org/Mavhawk64/sketches/5ks6M4wD0

【问题讨论】:

    标签: javascript processing p5.js


    【解决方案1】:

    这是因为有时粒子离边界太远了,在你反转它之后,在下一个滴答时它仍然在边界之外,然后你再次反转它,这件事就会无休止地继续下去。 选项 1:

    您需要能够检查并设置一些标志,即当您超出框的边界时,您只会反转一次速度方向。一旦你再次进入盒子,你应该在下次发生这种情况时重置这个标志。

    选项 2:

    您可以区分边界,并根据被击中的边界,相应地设置速度。 这意味着如果您点击顶部边框,则将 ySpeed 设置为 (-1) * abs(ySpeed) 或者,如果您点击底部边框,则将 ySepeed 设置为 abs(ySpeed)。与垂直边框相同。这样速度就不会在每个滴答声中反转。

    【讨论】:

      猜你喜欢
      • 2019-06-01
      • 2013-11-23
      • 1970-01-01
      • 1970-01-01
      • 2013-05-23
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多