我有问题,但我不知道如何描述它,所以我画了它。
正如你所看到的,当检测到碰撞时,球会反弹。别管角度了--我刚把它画成这样。但有时球会穿过球拍,离开球拍的另一个方向。
为什么会发生这种情况?因为当我检测到碰撞时,我将vx改为-vx。在这种情况下我应该怎么做?改变也是y?但是如何检查拍子球打到哪一边呢?
也许还有其他想法?
发布于 2011-04-03 05:47:10
这对于编写pong克隆的人来说是一个相当常见的问题。解决方案是,在检测到碰撞时,不仅要反转速度,还要改变球的位置,使其不与球拍相交。
否则,球可能会卡在球拍内,不断地否定每一帧的vx = -vx = vx = -vx。它不会离开桨,直到它的y动量向上或向下移动到足够远的距离才能逃脱。
发布于 2011-04-03 05:34:24
你这幅很棒的画告诉我你没有检测到垂直碰撞。您应该对y坐标的x坐标执行相同的操作。
发布于 2011-04-03 05:37:03
这通常是由于球的移动太快造成的。其中一个框架移动到一面墙,下一个框架已经放在墙后面。碰撞是不会发生的。你可以通过沿着球的轨迹看得更远并检查障碍物来否定这一点。
https://stackoverflow.com/questions/5526005
复制相似问题