繁体   English   中英

弹跳球边框故障

[英]Bouncing Ball Border Glitch

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

这是因为有时粒子离边界太远,在你反转它之后,在下一个 tick 时它仍然在边界之外,然后你再次反转它,这个东西将无休止地运行 go。 选项1:

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

选项 2:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM