【问题标题】:animation["name"].length works in Editor but not on Android Buildanimation["name"].length 在 Editor 中有效,但在 Android Build 中无效
【发布时间】:2014-08-29 22:31:32
【问题描述】:

这里有一些代码在带有统一遥控器的编辑器中使用播放模式时有效,但在实际的 android 版本上运行时不起作用。只是函数有问题。

public IEnumerator Reload(){

    if(isReloading == false){

        Debug.Log ("Reloading");

        if(isShooting == true){

            CeaseFire();

        }

        isReloading = true;

        fpsRigAnimation.CrossFade (reloadAnim);

        guiText.text = "before animation length";

        //problem here
        yield return new WaitForSeconds (fpsRigAnimation[reloadAnim].length);

        guiText.text = "after animation length";

        fpsRigAnimation.CrossFade (poseAnim);

        Debug.Log ("Reloaded");

        isReloading = false;

    }

}

我为动画长度产生的行根本不在 android 版本上运行。我在 gui 中得到了“动画前长度”,但没有得到“动画后长度”。但是当我通过统一远程应用程序在编辑器中播放它时,两者都会出现。此外,重新加载动画以及编辑器中的 debug.log 调用运行良好,但在 android 构建中根本没有重新加载动画。

编辑

我刚刚用一个普通的浮点值 (2.23f) 测试了 yield 语句,但它仍然不起作用。所以这意味着 yield 语句也是问题所在。但是动画剪辑长度仍然是一个问题,因为当我尝试让 guitext 说出值时,它在 android 上什么也不显示,但在编辑器中却显示。我在游戏中确实有其他的 yield 语句,它们都可以相应地工作。

编辑:解决方案

事实证明,我从所有统计信息中读取的文本文件需要位于一个名为“Resources”的特殊文件夹中,才能包含在实际构建中。

【问题讨论】:

    标签: android animation unity3d


    【解决方案1】:

    事实证明,我从所有统计信息中读取的文本文件需要位于一个名为“Resources”的特殊文件夹中,才能包含在实际构建中。

    【讨论】:

      【解决方案2】:

      可以修改你的逻辑给出条件。

      喜欢

      if (animation[“name”].time > animation.["name"].length)
      {
           //do something
      }
      

      试试看吧。

      【讨论】:

        猜你喜欢
        • 2011-12-09
        • 2020-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多