我目前正在游戏制作者中制作 Pong 克隆(我在游戏制作者中的第一个独立项目)。
当球与桨相撞时,我将其反转x_speed
(通过将其反转方向* -1
)。然而,当球击中桨的顶部或底部时,球就会卡在里面,不断地改变它x_speed
,但永远不会离开桨。
我的问题不在于问题是什么,而是有解决这个问题的实用方法吗?
我已经尝试(但失败了)实现 place_meeting 方法,并且我尝试了其他几种方法来检测球是否击中了桨的顶部或底部,以便我可以相应地调整它的位置x
和y
位置。
如果有人有想法(我不一定需要解决方案的代码,只需要这个想法,以便我可以在我的游戏中实现它。这是我到目前为止所拥有的。
我已经尝试过其他解决方案,但它们都没有接近,所以在这里展示它们没有意义。如果您需要我的程序中的任何其他代码片段,请询问。
球的步骤:
//Checking if it touches the borders of the play area
if (x <= 0) {
x_speed *= -1;
obj_score_left.gameScore += 1;
}
if (x + width >= room_width) {
x_speed *= -1;
obj_score_right.gameScore += 1;
}
if (y <= 0) y_speed *= -1;
if (y + height >= room_height) y_speed *= -1;
//Adds the x and y speeds to x and y
x += x_speed;
y += y_speed;