我对 XNA 和游戏开发还很陌生,并且陷入了球反射的困境。我的球一旦击中球棒就会反射,但只有一个角度,无论球棒处于哪个角度。
代码如下:
if (BallRect.Intersects(BatRect))
{
Vector2 NormBallVelocity = Ball.velocity;
NormBallVelocity.Normalize();
NormBallVelocity = Vector2.Reflect(Ball.velocity, NormBallVelocity);
Ball.velocity = NormBallVelocity;
}
球正在缩回。 如何使球看起来像是从球棒上反射出来的?
我看过其他帖子,但它们是在 3D 方面,我太新了,无法将其翻译为 2D 术语...
最佳答案
我很确定你需要反射(reflect)球棒的法线而不是球的速度,这是正常的。
关于reflection - 2D 游戏 - 如何反射球棒上的球?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2707059/