【问题标题】:Dash through enemies and dont taking damage冲过敌人并且不受到伤害
【发布时间】:2016-06-15 21:17:25
【问题描述】:

我正在尝试让我的玩家角色冲过特定的敌人,并且在冲刺动画期间不受到任何伤害,这是脚本:

using UnityEngine;

using System.Collections;

using CnControls;

public class PlayerDash : MonoBehaviour {

private Animator myAnim;
private bool dash = false;
private float dashTimer = 0;
private float dashCd = 0.3f;
public Collider2D[] Coll;

void Start () {
    myAnim = gameObject.GetComponent<Animator> ();
}
void Update () {
    if (CnInputManager.GetButtonDown ("Dash") && !dash) {
        dash = true;
        dashTimer = dashCd;
        myAnim.SetBool ("Dash", dash);
        foreach (Collider2D coll in Coll) {
            if (coll.gameObject.tag == ("Enemy")) {
                coll.enabled = false;
            }
        }
    }
    if (dash) {
        if (dashTimer > 0) {
            dashTimer -= Time.deltaTime;
        } else {
            dash = false;
            myAnim.SetBool ("Dash", false);
        }
    }
}
}

一切正常,但是当我使用 dash 并与“dasheable”敌人碰撞时,每个“dasheable”敌人都不会对玩家造成伤害(那是因为我使用的条件),我应该使用什么条件来在我冲破第一个后让敌人的对撞机仍然处于活动状态,已经在这里尝试了一些选项,但似乎没有任何工作正常

【问题讨论】:

  • 在您的更新中,您禁用了对撞机。已更新启用的行为,未更新禁用的行为 - 因此手册说。我在做一个假设,因为您的“敌人造成伤害”代码没有发布。
  • 想通了,我在 Update 之外创建了一个方法来检查播放器是否正在使用破折号,然后我在 Update 中调用它,谢谢。

标签: c# unity3d


【解决方案1】:

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

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

希望有帮助!

【讨论】:

    【解决方案2】:

    想通了,我在 Update 之外创建了一个方法来检查玩家是否是 dashin,然后在 Update 中调用它,谢谢。

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

    【讨论】:

    • 我建议避免这种情况并做一些类似于我上面发布的解决方案的事情。您在此处发布的解决方案仅适用于您的破折号动画。如果在未来,你想要另一个让他们立于不败之地的动画怎么办?如果您想制作一个使他们无敌的通电怎么办?我发布的解决方案更具前瞻性,因为它允许您随意将玩家设置为无敌和非无敌,并避免与影响无敌的不同事物发生冲突。
    猜你喜欢
    • 2016-10-27
    • 1970-01-01
    • 2018-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    • 1970-01-01
    • 2020-10-10
    相关资源
    最近更新 更多