Как мне правильно сделать прыжок?

Новичок
Статус
Оффлайн
Регистрация
8 Фев 2022
Сообщения
1
Реакции[?]
0
Поинты[?]
0
Не судите строго за код, я недавно начал программировать.
Как мне в этом коде сделать прыжок? (Кнопкой на UI. Игра на телефон)
C#:
public class playerMovement : MonoBehaviour
{
    public GameManager gm;
    public Rigidbody rb;
    public Vector3 dir;
    public Joystick joystick;
    bool isGrounded;
    public bool isGround;
 
    public float runSpeed = 500f;
    public float strafeSpeed = 500f;
    public float jumpForce = 15f;
    public string sceneName;
 
    protected bool strafeLeft = false;
    protected bool strafeRight = false;
    protected bool doJump = false;
 
    void OnCollisionEnter(Collision collision)
    {
        if(collision.collider.tag == "Obstacle")
        {
            gm.EndGame();
        }
 
        if (collision.gameObject.CompareTag("Ground"))
        {
            isGrounded = true;
        }
    }
 
    public void Jump()
    {
        if (isGrounded == true)
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
        }
    }
 
    void Update()
    {
        if(Input.GetKeyDown("space") && isGrounded == true)
        {
            isGrounded = false;
            doJump = true;
        }
 
        if(transform.position.y < -40f)
        {
            gm.EndGame();
        }
    }
 
    void FixedUpdate()
    {
        //rb.AddForce(-runSpeed * Time.deltaTime, 0, 0);
        rb.MovePosition(transform.position + Vector3.forward * runSpeed * Time.deltaTime);
 
        if(strafeLeft)
        {
            rb.AddForce(-strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
        }
      
        if(strafeRight)
        {
            rb.AddForce(strafeSpeed * Time.deltaTime, 0, 0, ForceMode.VelocityChange);
        }
 
        if(doJump)
        {
            rb.AddForce(Vector3.up * jumpForce, ForceMode.Impulse);
 
            doJump = false;
        }
 
        rb.velocity = new Vector3(joystick.Horizontal * runSpeed, rb.velocity.y);
  
 
    }
}
 
Начинающий
Статус
Оффлайн
Регистрация
5 Мар 2022
Сообщения
41
Реакции[?]
1
Поинты[?]
0
Если недавно начали программировать - берите готовый ассет - там все реалистично, бесплатно и просто.
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Пользователь
Статус
Оффлайн
Регистрация
11 Янв 2019
Сообщения
221
Реакции[?]
42
Поинты[?]
0
создай кнопку,добавь в код переменную кнопки и присвой в старте Button.
Пожалуйста, авторизуйтесь для просмотра ссылки.
свою функцию.
А если кнопка в виде спрайта,то нацепи на кнопку EventTrigger(как-то так он называется) и там выбери свой объект и свою функцию(она должна быть public)
 
Сверху Снизу