Я пытаюсь создать способность к спринту в 2d Unity (C #), у которого есть энергетический батончик, поэтому его нельзя бесконечно использовать. Чего мне не хватает?
Я пытался сделать спринт функцией и вызывать ее при нажатии клавиши X. Пытался умножить позицию, но я получил способность моргать на коротком расстоянии.
\\ this is my movement script, other variables we're declared earlier in the code
void Update() {
Vector2 mi = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
mv = mi.normalized * speed;
}
private void FixedUpdate() {
rb.MovePosition(rb.position + mv * Time.fixedDeltaTime);
}
Я ожидаю, что код заставит игрока двигаться вдвое быстрее, чем при нажатии клавиши X, но его можно использовать только тогда, когда энергия не закончилась.