PlayQueued с различными состояниями анимации - PullRequest
1 голос
/ 01 февраля 2012

Просто сделайте любую анимацию и попробуйте использовать мой код на ней.То, чего я пытаюсь добиться, - это воспроизводить анимацию, используя PlayQueued несколько раз, каждый раз с различным состоянием анимации, например, для реверсирования анимации.

using UnityEngine;
using System.Collections;

public class NewBehaviourScript : MonoBehaviour {

    Animation a;

    void Start () {
        a = animation;
        Invoke("PlayAnimation3",0.3f);
    }

    void PlayAnimation0(){
        //no problem at all...
        a.PlayQueued("simpleAnimation");
        a.PlayQueued("simpleAnimation");
        a.PlayQueued("simpleAnimation");
    }

    void PlayAnimation1(){
        //but when you change AnimationState...
        a.PlayQueued("simpleAnimation");
        AnimationState as0 = a.PlayQueued("simpleAnimation");
        as0.time = as0.length;
        as0.speed = -1f;
        AnimationState as1 = a.PlayQueued("simpleAnimation");
        //... the last AnimationState is the one that counts
        as1.time = 0f;
        as1.speed = 1f;
    }

    void PlayAnimation2(){
        //making a copy of animation does not help
        a.PlayQueued("simpleAnimation");
        AnimationState as0 = a.PlayQueued("simpleAnimation");
        as0.time = as0.length;
        as0.speed = -1f;
        AnimationState as1 = a.PlayQueued("simpleAnimationCopy");
        as1.time = 0f;
        as1.speed = 1f;
    }

    void PlayAnimation3(){
        //it seems duplicated animations have common AnimationState...
        a["simpleAnimationCopy"].time =a["simpleAnimationCopy"].length;
        a["simpleAnimationCopy"].speed =-1f;
        a.Play("simpleAnimation");
        a.PlayQueued("simpleAnimationCopy");
        a.PlayQueued("simpleAnimation");
    }

    void PlayAnimation4(){
        //any ideas? how to use PlayQueued with different animation states?
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...