我正在 XNA 中开发一个 2d 游戏,我目前正在学习我的物理课。我目前的任务是在一个物体与另一个物体碰撞时停止它。当两个物体发生碰撞时,我已经让我的游戏调用了这个函数:
public void BlockMovement(gameObject target) {
//you can call width by just typing width. same for height
owner.position.X += (owner.position.X - target.position.X);
owner.position.Y += (owner.position.Y - target.position.Y);
}
问题是,而不是停止。移动的物体被推回它的宽度。有人可以告诉我/告诉我如何做到这一点,我在许多项目中已经坚持了很长时间。
谢谢