【问题标题】:Using triggers attached to enemy to make enemy jump in a 2.5d platformer使用附加在敌人身上的触发器让敌人在 2.5d 平台游戏中跳跃
【发布时间】:2016-11-10 00:59:53
【问题描述】:

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

【问题讨论】:

  • 您似乎对 Unity 中的所有内容都感到很困惑,而且这个问题并未描述特定问题。您应该花点时间按照一个简单的Space Shooter tutorial 操作,这将使您开始使用所有刚体、触发器和对撞机的东西

标签: unity3d


【解决方案1】:

像这样使用OnTriggerEnter 方法:

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

注意:这段代码应该在你的敌人脚本中。另外在触发对象上使用IMakeEnemyJumpBeforeAnObstacle 标签,该对象将被放置在障碍物的正前方。并确保敌人和其他对象都有属性 IsTrigger 检查员检查。

Learn More

希望对你有帮助

【讨论】:

  • 等等,我需要在游戏中的每个障碍物上设置“Is Trigger”吗?
  • 不在障碍物上。你需要在障碍物附近放置一个触发对撞机,它会告诉你的敌人跳跃。
  • 我意识到了这一点,我的障碍物上的触发对撞机在 X 中缩放到 1.5,就像一个魅力。非常感谢您,先生:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多