Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- public class PlayerMovCapsula : MonoBehaviour
- {
- public CharacterController controller;
- public float speed = 5f;
- public float jumpForce = 10f;
- public float gravity = -19.81f;
- private Vector3 moveDirection = Vector3.zero; // Inicialmente es 0 porque no se mueve.
- void Start()
- {
- controller = GetComponent<CharacterController>();
- }
- void Update()
- {
- if (controller.isGrounded)
- {
- // Obtener la entrada de movimiento horizontal y vertical
- float moveHorizontal = Input.GetAxis("Horizontal");
- float moveVertical = Input.GetAxis("Vertical");
- // Calcular la dirección del movimiento
- moveDirection = new Vector3(moveHorizontal, 0, moveVertical);
- moveDirection *= speed;
- // Saltar si se presiona el botón de salto
- if (Input.GetButton("Fire1"))
- {
- moveDirection.y = jumpForce;
- }
- }
- else
- {
- // Obtener la entrada de movimiento horizontal y vertical durante el salto
- float moveHorizontal = Input.GetAxis("Horizontal");
- float moveVertical = Input.GetAxis("Vertical");
- // Actualizar la dirección del movimiento en el aire
- moveDirection.x = moveHorizontal * speed;
- moveDirection.z = moveVertical * speed;
- }
- // Aplicar gravedad
- moveDirection.y += gravity * Time.deltaTime;
- // Mover al jugador
- controller.Move(moveDirection * Time.deltaTime);
- }
- }
- // CHARACTER CONTROLLER BOTONES
- // Y = Jump
- // A = Fire1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement