Действие по нажатию по кнопке
void Rush()
{
transform.localPosition += transform.forward * speed * time.deltaTime;
}
Я не понимаю, как сделать, чтобы при нажатии один раз на кнопку GetKeyDown()
Действия производились несколько раз.
Цикл while я не могу сделать, потому что это находится в методе Update().
void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse1))
{
timeleft -= Time.deltaTime;
Rush();
}
if(timeleft <= 0 & haveCollision == false )
{
Stan();
}
}
Нужно, чтобы после нажатия на кнопку Mouse 0, действие Rush() выполнялось 2 секунды, или пока нет столкновения с объектом.
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Например использовать GetKey
if (!haveCollision && timeleft >= Time.deltaTime && Input.GetKey(KeyCode.Mouse1))
{
timeleft -= Time.deltaTime;
Rush();
}
Можно ещё через корутины сделать.
А вообще почитайте это: Правильная реализация передвижения персонажа, вам ранее уже предлагал взглянуть, но что-то пошло не так и вы продолжаете использовать телепортацию вместо того чтобы использовать движок для расчета перемещения.