我正在为我的计算机科学课制作Atari游戏“蜈蚣”的版本。我需要帮助为我的代码创建碰撞。当子弹击中蜈蚣的一部分时,我需要做到这一点,游戏检测到它并且击中的部分消失了。
答案 0 :(得分:0)
一个简单的实施如下:
1.指定一个表示蜈蚣的像素位置的阵列
2.指定另一个表示子弹像素位置的阵列
3.根据游戏的采样率更新每个数组的值,并检查是否有任何重叠。 (理想情况下将此作为单独的线程)
4.任何重叠都表示发生碰撞,因此有一些碰撞处理函数,它会删除蜈蚣命中的部分,即在发生重叠事件时触发。
答案 1 :(得分:0)
这是一个非常广泛的问题,但我会尝试在一般意义上提供帮助。
您需要阅读collision detection。
首先,您可能希望将蜈蚣分解为单个矩形。对于每个矩形,检查它是否与子弹碰撞。
您可以考虑点矩形碰撞检测,检查点是否在矩形内。如果您的子弹是一个小点,这将有效。
或者您可以考虑矩形 - 矩形碰撞检测,其中检查两个矩形是否重叠。如果你的子弹大于一个点,请使用此项。即使你的子弹是一个圆圈,你通常也可以逃脱这种碰撞检测。
请尝试一下,如果您遇到问题,请发布一个MCVE,说明您遇到的问题。祝你好运。