Unity-Animator不会允许我,也不是禁用对撞机的代码。为什么?

问题描述 投票:0回答:1

我有一个角色游戏对象,既有动画师又有对撞机。

只要启用动画器,在运行时就无法更改对撞机,尽管可以通过检查器在场景编辑模式下对其进行更改。

无论我通过检查器更改了哪些动画设计器属性,都不会发生任何事情。我尝试修复的功能是无敌框架-一个例行程序,将角色的点击框禁用几秒钟。

我尝试启用和禁用对撞机的isTrigger属性,但问题仍然存在-当isTrigger打开时,角色仍然受到伤害。

代码:

private IEnumerator ActivateInvincibility()
    {
        // 3 seconds of invincibility
        _hit_zone.enabled = false;  // no effect
        _hit_zone.isTrigger = true;  // no effect either
        yield return new WaitForSeconds(3f);
        _hit_zone.enabled = true;
        _hit_zone.isTrigger = false;;
    }

正常调用,例如:StartCoroutine("ActivateInvincibility");

编辑:

为了澄清,我想知道的是问题的根源,因为我怀疑由于这一根而可能会出现更多的问题。

我还编辑了不重要的代码行。

c# unity3d unity-components
1个回答
0
投票
psdt;将协程称为StartCoroutine(ActivateInvincibility());。不要使用字符串名称。
© www.soinside.com 2019 - 2024. All rights reserved.