所以我的2.5d平台游戏中有一个敌人,我已经跟随玩家了,现在我希望他跳过小障碍,老实说,我不知道怎么做。我的敌人是一个带有刚体的球体和一个在X轴上缩放2倍的盒子对撞机,有效地使它比球体宽2倍。我希望这个盒子对撞机成为触发器并启动AddForce
我在哪里放置触发器的代码 - 如果我把它放在void update()中它是否会在球体位于障碍物上方之前施加力?我只希望它施加一次力量。
此外,触发器的代码是什么样的?
到目前为止,我只知道如何通过getcomponent找到刚体,并对它施加力,我看了一个关于触发器的视频,但它没有真正帮助:/
答案 0 :(得分:2)
使用OnTriggerEnter这样的方法:
void OnTriggerEnter(Collider other)
{
if (other.tag == "IMakeEnemyJumpBeforeAnObstacle")
{
// add force here
}
}
注意:此代码应该在您的敌人脚本中。另外,在触发器对象上使用IMakeEnemyJumpBeforeAnObstacle
标记,该标记将放置在障碍物之前。并确保敌人和其他对象都有从检查员检查的属性IsTrigger
。
希望这有帮助