не могу разобраться с Invoke()
я хочу чтобы когда я нажимал на кнопку "w" объект начал перемещаться наверх по 10y в секунду Я использовал Invoke а объект сразу телепортируется на 50 y без задержки
void goUp()
{
ts.position += new Vector3(0,10,0);
}
void posUp()
{
while(downOtherKey == false)
{
while(i <=5)
{
Invoke("goUp",1f);
i++;
}
downOtherKey = true;
}
}
void Update()
{
if(Input.GetKeyDown("w"))
{
posUp();
}
}
Ответы (1 шт):
Автор решения: igoefi
→ Ссылка
Советую вместо invoke использовать FixedUpdate. Стандартно он вызывается 50 раз в секунду, т.е. в GoUp поставьте 0.2 по y
И, совет. Не делайте передвижение через transform, если, конечно же, вы не хотите пренебречь законами физики. Для передвижения "по-физике" отлично подходит RigidBody и установление его velocity (скорости)