Zhqrik
@Zhqrik
learning python

Как предотвратить многократный прыжок в Юнити?

Вот код поправьте пожалуйста !
Если нажимать пробел , персонаж летит , что делать?

using UnityEngine;

public class PlayerContrl : MonoBehaviour {
    public float speed = 20f;
    private Rigidbody2D rb;
	// Use this for initialization
	void Start () {
        rb = GetComponent<Rigidbody2D>();
	}
	
	// Update is called once per frame
	void Update () {
        float moveX = Input.GetAxis ("Horizontal");
        rb.MovePosition(rb.position + Vector2.right * moveX * speed * Time.deltaTime);
        if (Input.GetKeyDown(KeyCode.Space))
            rb.AddForce(Vector2.up * 7500);
    }
}
  • Вопрос задан
  • 523 просмотра
Решения вопроса 1
BasmanovDaniil
@BasmanovDaniil
Геймдизайнер-телепат
Официальный туториал смотрели? Если вкратце, то вам нужно использовать рейкасты или, например, OnCollisionStay, чтобы определять близость земли относительно вашего персонажа. Когда персонаж не на земле - запрещать прыгать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы