您好,我需要有关为我在处理中制作的游戏制作碰撞的建议

Hello, I need advice on making collision for a game I made in processing

我正在为我的计算机科学 class 制作一个 Atari 游戏版本 "Centipede"。我需要帮助为我的代码创建碰撞。我需要做到这一点,当子弹击中蜈蚣的一部分时,游戏会检测到它并且被击中的部分消失。

一个简单的实现如下:

1.指定一个代表蜈蚣像素位置的数组

2.指定另一个表示子弹像素位置的数组

3. 根据游戏的采样率更新每个数组的值并检查是否有任何重叠。 (理想情况下将其作为一个单独的线程)

4.Any重叠表示碰撞,所以有某种碰撞处理函数,删除蜈蚣命中的部分,重叠事件发生时触发。

这是一个相当宽泛的问题,但我会尽力提供一般意义上的帮助。

您需要阅读 collision detection

首先,您可能想将蜈蚣分解成单独的矩形。对于每个矩形,检查它是否与子弹碰撞。

您可以考虑点-矩形碰撞检测,在其中检查点是否在矩形内。如果你的子弹是一个小点,这将起作用。

或者您可以考虑矩形-矩形碰撞检测,在其中检查两个矩形是否重叠。如果您的子弹大于一个点,请使用此选项。即使你的子弹是一个圆圈,你通常也可以逃脱这种碰撞检测。

请尝试一下,如果您遇到困难,请 post 一个 MCVE 来说明您遇到的困难。祝你好运。