Почему мой объект не вращается непрерывно при нажатии кнопки? - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть космический корабль, который будет вращаться по часовой стрелке или против часовой стрелки в зависимости от того, нажата ли левая или правая кнопка.Я использовал виртуальный джойстик, и он работал нормально, но решил сменить левую и правую кнопки.Теперь, если нажать кнопку, она будет поворачиваться в фиксированное положение и останавливаться каждый раз, когда я нажимаю кнопку, я бы хотел, чтобы она постоянно двигалась в одном направлении, пока кнопка удерживалась, и останавливалась при отпускании.

Я использую стандартные активы Unity со сценарием ButtonHadler для межплатформенного ввода в сочетании с моим сценарием "Move".

void Update()
{   
    if (CrossPlatformInputManager.GetButtonDown("turn"))
    {
       TurnShip();           
    }       
}

public void TurnShip()
{            
    transform.Rotate(Vector3.up * 50f * Time.deltaTime);        
}

Ответы [ 2 ]

2 голосов
/ 20 апреля 2019

Вы используете GetButtonDown, который возвращает true только один раз при нажатии кнопки и остается false до тех пор, пока вы не отпустите кнопку и не нажмете ее снова. Вместо этого используйте GetButton.

0 голосов
/ 20 апреля 2019

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

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