Поворот 2D персонажа

Программирование на Юнити.

Поворот 2D персонажа

Сообщение Persenter 26 май 2017, 17:14

У меня есть 2D игра с видом сверху(на Android). В настройках 2D физики отключил гравитацию. Написал скрипт для перемещения и поворота персонажа, но с поворотом проблемы, (Поворот должен осуществлятся в направлении перемещения). Поворот ОЧЕНЬ медленный или , иногда, совсем не поворачивается. Может что-то в скрипте или может что-то в настройках Rigidbody персонажа?
Синтаксис:
Используется csharp
private Rigidbody2D  m_Rigidbody2D;
        private Player _Player;
        public float Speed;

        public GameObject Q;
       
        void Start () {
                _Player = GetComponent<Player> ();
                m_Rigidbody2D = GetComponent<Rigidbody2D> ();
        }

        void FixedUpdate () {
                float x = CrossPlatformInputManager.GetAxis("Horizontal");
                float y = CrossPlatformInputManager.GetAxis("Vertical");
                Move (x, y);

                if(x!=0 && y!=0)
                Q.transform.position = new Vector3 (transform.position.x + x * 2,transform.position.y + y * 2,0);
//Поворот оси X к пустышке.
                transform.right = Q.transform.position;
        }
        void Move(float x, float y){
                m_Rigidbody2D.velocity = new Vector2 (x * Speed, y * Speed);
                }
        }
Persenter
UNец
 
Сообщения: 23
Зарегистрирован: 20 янв 2015, 18:04

Re: Поворот 2D персонажа

Сообщение Cr0c 27 май 2017, 19:50

Синтаксис:
Используется csharp
transform.right = new Vector3(x, y, 0f);

попробуй
Аватара пользователя
Cr0c
Адепт
 
Сообщения: 3035
Зарегистрирован: 19 июн 2015, 13:50
Skype: cr0c81


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11