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