【问题标题】:How to play correct animation in unity?如何统一播放正确的动画?
【发布时间】:2018-06-29 20:49:03
【问题描述】:

我统一创建动画。问题是她玩了1次。

void Update () {
...........
    if (Count > KnifeCount) {
        .........
        animator.SetBool ("Scale", true);
        InvokeRepeating ("DestroyClones", 0.5f, 0f);
    }
}

void DestroyClones() {
    int a = i + 1;
    allowTap = true;
    animator.SetBool ("Scale", false);
}

【问题讨论】:

    标签: animation unity3d


    【解决方案1】:

    您应该查看IEnumerator 接口和相应的StartCoroutine(IEnumerator enumerator) 方法。好的起点是here

    【讨论】:

      【解决方案2】:

      在动画的导入设置中(在统一资源管理器中选择动画) - 选中“循环时间”。

      如果这没有帮助,请检查您的 Animator 过渡。我猜您希望将参数“Scale”作为转换条件。

      您正在使用InvokeRepeating,这很好,但是您每次调用Update() 时都会启动它,因此您可能需要CancelInvoke 来解决潜在的问题。

      【讨论】:

      • 我关闭了循环时间。我有一个参数比例。 CancelInvoke 没有帮助。
      • int a = i + 1; 应该做什么?
      • 这是当前级别的数字,然后改变
      • 从 InvokeRepeating 切换到 Coroutine 是一种解决方法,而不是解决方案。你不明白为什么你的动画只运行一次。如果你对此感到满意,那没关系。顺便说一句,a 是一个局部变量,将其设置为i + 1 在显示的 sn-p 中没有任何影响。
      猜你喜欢
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      相关资源
      最近更新 更多