Animation 我有两个3dtext,一个播放动画,另一个反转动画。一次之后,动画将不再播放,为什么?

Animation 我有两个3dtext,一个播放动画,另一个反转动画。一次之后,动画将不再播放,为什么?,animation,unity3d,Animation,Unity3d,我有一个名为Play的3dtext,单击它将播放动画;另一个名为Back,用于反转动画。问题是在我播放并备份它之后,当我单击“播放”时,动画将不再播放 名为“红色”子菜单的动画处于“传统”和“永久夹紧包裹”模式 public class PlayButtonScript : MonoBehaviour { //public static PlayButtonScript pbs; public GameObject redsubmenu;

我有一个名为Play的3dtext,单击它将播放动画;另一个名为Back,用于反转动画。问题是在我播放并备份它之后,当我单击“播放”时,动画将不再播放

名为“红色”子菜单的动画处于“传统”和“永久夹紧包裹”模式

    public class PlayButtonScript : MonoBehaviour {

        //public static PlayButtonScript pbs;
        public GameObject redsubmenu;

        void Update(){
    #if UNITY_EDITOR
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if(Input.GetMouseButtonDown(0)&&Physics.Raycast(ray,out hit)){
                if(hit.collider.name == "Play"){
                    redsubmenu.animation.Play();
                }
            }
    #endif


        }
    }


     public class BackButtonScript : MonoBehaviour {


        // Update is called once per frame
        void Update () {
    #if UNITY_EDITOR
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;

            if(Input.GetMouseButtonDown(0)&&Physics.Raycast(ray, out hit)){
                if(hit.collider.name == "Back"){
                    transform.parent.animation["redsubmenu"].speed = -1;
                    transform.parent.animation.Play("redsubmenu");
                }
        }

    #endif
        }
}

似乎从未将动画的速度重置回1。第一次单击“播放”时,速度最初为1,因此工作正常。但是,当您返回时,您将速度设置为-1,并且它从未设置为任何其他值

尝试使用:

if (hit.collider.name == "Play") {
    transform.parent.animation["redsubmenu"].speed = 1;
    redsubmenu.animation.Play();
}
在播放按钮脚本中

您还可以使用Animation.Rewind。

更具体地说,我编辑了我的playbuttonscript,如下所示:

if(Input.GetMouseButtonDown(0)&&Physics.Raycast(ray,out hit)){
        if(hit.collider.name == "Play"){
            if(redsubmenu.animation["redsubmenu"].speed == -1){
                redsubmenu.animation["redsubmenu"].speed = 1;
            } else {
                redsubmenu.animation.Play();
            }
        }
    }
在我的后退按钮中,我删除transform.parent.animation.Play,不需要这样做