我有一个正在以恒定速度向前移动的播放器,并且已经在该对象上附加了刚体。因此,我希望玩家在与其他对撞机撞击时向其施加力使其向后移动。下面是我的播放器附带的脚本。 print语句正在执行,因此意味着Trigger函数可以正常工作,并且刚体已连接到播放器,但是addforce()
函数无法正常工作。
请帮助我。
void OnTriggerEnter(Collider obj)
{
if (obj.gameObject.name == "enemy")
{
if(gameObject.GetComponent<Rigidbody>())
{
print("force add");
gameobject.getcomponent<RigidBody>().AddForce (-transform.forward * 10f * Time.deltaTime);
}
}
}
答案 0 :(得分:0)
好吧,首先尝试应用更高的值,可能是力太低,因为它乘以Time.deltaTime这是低值:
.AddForce (-transform.forward * 10000f * Time.deltaTime);
第二次检查,是否在代码中的任何位置使用transform.position更改播放器的位置。 (如果是,请粘贴这部分代码)