我正在尝试使球从矩形桨的边缘反弹,到目前为止,我所做的就是使球从桨的顶部边缘反弹。但是,只要球碰到另一侧(右侧或左侧),它就会卡在桨中,并且不会反弹。
为了使球从球拍的顶部弹起,我使用了下面的简单代码:
// bounce ball off paddle
if (object == paddle)
{
velocityY = -velocityY;
}
谁能帮助我增强此代码,以便它可以检测出球是否碰到了桨的右侧或左侧,并使其反弹。
请注意,我正在使用C。
谢谢,
最佳答案
就像在碰撞后处理Y轴一样
velocityX = -velocityX
如果您想要“更精致”的东西,可以尝试制作类似
if (currentX + ball_radius >= MAX_WIDTH)
velocityX = -velocityX;
if (currentY + ball_radius >= MAX_HEIGHT)
velocityY = -velocityY;
点(currentX,currentY)代表球的中心。
关于c - 使Ball从C中的对象边缘反弹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32667339/