冲破敌人,不要受到伤害

时间:2016-06-15 21:17:26

标签: c# unity3d

我试图让我的玩家角色突破特定的敌人,并且在动画片动画期间不会受到任何伤害,这是脚本:

module A
  module ClassMethods
    def foo
      'hello'
    end
  end
  extend ClassMethods
end

module A
  class B
    extend A::ClassMethods

    def self.bar
      foo
    end
  end
end

一切都运转良好,但是当我使用短划线并与一个" dasheable"敌人,每一个" dasheable"敌人不会对玩家造成伤害(这是因为我使用的条件),我应该使用什么条件让敌人的对手在冲破第一个之后仍然活跃,已经在这里尝试了一些选择而没有任何选择似乎工作正常

2 个答案:

答案 0 :(得分:1)

我建议你创建一个bool invincible(或者如果你想获得更多花哨,一个简单的状态机)。处理玩家受伤的脚本可以检查玩家当前是否无敌,然后忽略损坏。

对于你的破折号,或者你希望玩家不会受到伤害的任何其他动画,只需在开始时打开无敌,然后在结束时将其关闭。

希望有所帮助!

答案 1 :(得分:-1)

想通了,我在Update之外创建了一个方法来检查播放器是否为红色,然后在Update中调用它,谢谢。

void enterDashing() {
    foreach (Collider2D coll in Coll) {
        if (coll.gameObject.tag == "Enemy" && !dash) {
            coll.enabled = true;
        }
    }
}