我有一个带有碰撞的2D对象,我用鼠标以速度移动它,当它与同一个对象接触时,它会移动另一个对象。您如何确定他没有移动它,但是当您单击它时,您也可以移动它? 我试图这样做:
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.gameObject.tag == "GameController")
{
collision.gameObject.GetComponent<Rigidbody2D>().velocity = Vector2.zero;
collision.gameObject.GetComponent<Rigidbody2D>().angularVelocity = 0f;
}
}
答案 0 :(得分:0)
只需启用要控制其运动的各个游戏对象的isKinematic
部分,但不会受到其他对象的影响。
This帖子很好地解释了为什么设置运动学属性可以解决您的问题。
答案 1 :(得分:0)
由于要使用鼠标控制运动,因此应将boolen变量添加到运动逻辑中。触发CollisionEnter时,不执行运动逻辑。