Понедельник, 11 Ноября 2024, 04:05

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
unity multiplayer не срабатывают Анимации
OrcanДата: Вторник, 18 Октября 2016, 15:27 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Анимации не срабатывают... Debug.Log всегда пишет 0 я так понимаю на сервер не приходят данные переменной numCurAnim Вопрос почему?

Код
public class Move2DClient : MonoBehaviour {

        public float speed = 4f; // speed является названой переменной
        public Vector3 movement; // direction является названой переменой
        Rigidbody2D playerRigidbody;
        Animator anim;
        GameObject bonusSpeed;  

        //private float lastSynchronizationTime = 0f; // переменные нужны для интерполяции
        private float syncDelay = 0f;
        private float syncTime = 0f;

        private Quaternion rot;                    // поворот
        private int numCurAnim;  

        private string s_anim;

        void Awake ()
        {
                playerRigidbody = GetComponent <Rigidbody2D> ();
                anim = GetComponent <Animator> ();
                bonusSpeed = GameObject.FindGameObjectWithTag ("BonusSpeed");
        }

        void FixedUpdate ()
        {   if (GetComponent<NetworkView> ().isMine) {
                        float h = Input.GetAxisRaw ("Horizontal");     
                        float v = Input.GetAxisRaw ("Vertical");       
                        Move (h, v);
                }
        }

        void OnTriggerEnter2D ( Collider2D other)
        {
                if (other.gameObject.tag == "BonusSpeed")
                {
                        Destroy( other.gameObject );
                        speed += 0.5f;
                }
        }

        void Move (float h, float v)
        { if (GetComponent<NetworkView> ().isMine) {
                        movement.Set (h, v, 0);
                        movement = movement.normalized * speed * Time.deltaTime;
                        playerRigidbody.MovePosition (transform.position + movement);
                }
        }
        void Update ()
        {
                if (GetComponent<NetworkView> ().isMine) {

                        if (Input.GetKeyDown (KeyCode.S)) {
                    anim.Play ("idle");
                    numCurAnim = 0;

                        }

                        if (Input.GetKeyDown (KeyCode.A)) {
                    anim.Play ("left");
                    numCurAnim = 1;
                        }

                        if (Input.GetKeyDown (KeyCode.W)) {
                    anim.Play ("zad");
                    numCurAnim = 2;
                        }

                        if (Input.GetKeyDown (KeyCode.D)) {
                    anim.Play ("right");
                    numCurAnim = 3;
                        }
                }   else {PlayNameAnim();
                }  
        }

        void OnSerializeNetworkView (BitStream stream, NetworkMessageInfo info) {  //если это мы

                if (stream.isWriting) {
         
                        stream.Serialize(ref numCurAnim);  
                } else {

                        stream.Serialize(ref numCurAnim);PlayNameAnim(); Debug.Log (numCurAnim+ "_client");
                }    
         
        }


        public void PlayNameAnim () {
                print (numCurAnim);
                switch (numCurAnim) {
                case 0:
                        anim.Play ("idle");
                        break;

                case 1:
                        anim.Play ("left");
                        break;

                case 2:
                        anim.Play ("zad");
                        break;

                case 3:
                        anim.Play ("right");
                 
                        break;
                }
        }

}


  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг