Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать 1 прыжок в юнити(c#)

Cheet0sram Ученик (113), открыт 1 неделю назад
с этим кодом можно все время делать прыжки, нужно сделать так чтобы прыжок можно было нажать 1 раз на поверхности, а в воздухе нельзя
сам код:
public class Player : MonoBehaviour

{
public float speed;
public float jumpForce;
public Rigidbody2D rb;

private void Update()
{
if (Input.GetKey (KeyCode.D))
{
rb.linearVelocity = new Vector2(x:speed, rb.linearVelocity.y);
}
if (Input.GetKey(KeyCode.A))
{
rb.linearVelocity = new Vector2(x:-speed, rb.linearVelocity.y);
}
if (Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce((Vector2)(transform.up * jumpForce), ForceMode2D.Impulse);
}
}

}
1 ответ
Павел Костенко Профи (540) 1 неделю назад
сделать проверку что игрок на земле

можно через основной коллайдер через колбеки отследить касания

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