animation [“name”]。长度适用于编辑器但不适用于Android Build

时间:2014-08-29 22:31:33

标签: android animation unity3d

这里有一些代码在编辑器中使用Unity远程时使用播放模式时有效,但在实际的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版本上运行。我得到了#34;之前的动画长度"在gui中,但不是"在动画长度"之后。但是当我通过Unity远程应用程序在编辑器中播放时,两者都显示出来。此外,重新加载动画运行良好,以及编辑器中的debug.log调用,但重新加载动画在android构建中根本没有完成。

修改

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

编辑:解决方案

事实证明,我所阅读的所有统计数据中的文本文件都在一个名为"资源"的特殊文件夹中。被包含在实际构建中。

2 个答案:

答案 0 :(得分:0)

事实证明,我正在阅读的所有统计数据中的文本文件都位于名为“Resources”的特殊文件夹中,以包含在实际构建中。

答案 1 :(得分:0)

可以修改你的逻辑,让条件起作用。

<强>像

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

试一试并告诉。