Как заставить игровой объект прыгнуть вперед?

Привет, я действительно новичок в этом и хотел бы помочь, я хотел бы знать, как я могу заставить свой игровой объект прыгать вперед (чем дольше вы держите, тем больше он будет прыгать), у меня есть твердое тело на моем игровом объекте уже в случае, если это помогает.

public class PlayerScript : MonoBehaviour {

public float speed;

private Vector3 dir;

// Use this for initialization
void Start () 
{
    dir = Vector3.zero;
}

// Update is called once per frame
void Update () 
{
    if (Input.GetMouseButtonDown(0)) 
    {
        if (dir == Vector3.forward)
        {
            dir = Vector3.right;
        }
        else 
        {
            dir = Vector3.forward;
        }

    }

    float AmToMove = speed * Time.deltaTime;
    transform.Translate (dir * AmToMove);
}

до сих пор мне удавалось только заставить его двигаться вперед и вправо, но вместо этого я хотел бы, чтобы он прыгал вперед и прыгал вправо.

1 ответ

Решение
public float thrust;
        public Rigidbody rb;
        void Start() {
            rb = GetComponent<Rigidbody>();
        }
        void FixedUpdate() {
            rb.AddForce(transform.up * thrust);
        }
//This will add a force to the rigidbody upwards. 

Если вы хотите использовать твердое тело для движения, вы должны приложить к нему силу. Прямо сейчас вы просто перемещаете мировую трансформацию объекта.

Другие вопросы по тегам