animation[ "name" ].length 在编辑器中工作,但在 Android Build 上不起作用



这里有一些代码,当在带有unity remote的编辑器中使用播放模式时可以工作,但当在实际的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中得到了"动画前长度",但没有得到"动画后长度"。但当我通过unity远程应用程序在编辑器中播放时,两者都会出现。此外,重载动画运行良好,以及编辑器中的debug.log调用,但重载动画在android构建中根本没有运行。

编辑

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

编辑:解决方案

事实证明,我从中读取的所有统计数据的文本文件需要放在一个名为"Resources"的特殊文件夹中,才能包含在实际构建中。

事实证明,我从中读取所有统计数据的文本文件需要放在一个名为"Resources"的特殊文件夹中,才能包含在实际构建中。

可能会修改您的逻辑,给出条件。

喜欢

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

试试看。

相关内容

最新更新