我正在使用Unity
而我正在进行乒乓球比赛。我希望能够用鼠标键移动拨片。我试过移动他们的位置但当然只是通过比赛场边缘的对撞机“传送”它们。我尝试使用addForce()
并将刚体固定在x位置,然而,当球击中球拍时,它会推动它并且球拍向后突然移动。所有球的能量都消失了(我的比赛中有重力)。我怎样才能移动这个箱子对撞机但是在移动时不要让它超过其他箱子对撞机?感谢!!!
答案 0 :(得分:0)
您的球拍应该是一个运动学(IsKinematic参数)刚体(附加的RigidBody2D)对撞机,而边缘应该只是一个静态对撞机。但是,您应该控制脚本中桨板移动的限制/边缘。
如果你这样做,你的球会自然地从边缘反弹并离开你的球拍。但是,如果您希望球通过边缘但通知您这样做(例如丢失条件),则应将边缘设为静态触发器对撞机(IsTrigger参数)。
以下是不同类型对撞机之间所有互动的详细列表:http://docs.unity3d.com/Manual/CollidersOverview.html。生成的消息通过2个不同的函数传递:OnTriggerEnter2D和OnCollisionEnter2D。