使用附着在敌人身上的触发器使敌人在2.5d平台上跳跃

时间:2016-11-09 16:15:35

标签: unity3d

所以我的2.5d平台游戏中有一个敌​​人,我已经跟随玩家了,现在我希望他跳过小障碍,老实说,我不知道怎么做。我的敌人是一个带有刚体的球体和一个在X轴上缩放2倍的盒子对撞机,有效地使它比球体宽2倍。我希望这个盒子对撞机成为触发器并启动AddForce 我在哪里放置触发器的代码 - 如果我把它放在void update()中它是否会在球体位于障碍物上方之前施加力?我只希望它施加一次力量。 此外,触发器的代码是什么样的?
到目前为止,我只知道如何通过getcomponent找到刚体,并对它施加力,我看了一个关于触发器的视频,但它没有真正帮助:/

1 个答案:

答案 0 :(得分:2)

使用OnTriggerEnter这样的方法:

void OnTriggerEnter(Collider other) 
{
    if (other.tag == "IMakeEnemyJumpBeforeAnObstacle")
    {
        // add force here
    }
}

注意:此代码应该在您的敌人脚本中。另外,在触发器对象上使用IMakeEnemyJumpBeforeAnObstacle标记,该标记将放置在障碍物之前。并确保敌人和其他对象都有从检查员检查的属性IsTrigger

Learn More

希望这有帮助