15[RequireComponent(typeof(Rigidbody2D))]
23 [Header(
"Ajustes de movimiento")]
24 [Tooltip(
"Velocidad de traslación")]
33 [Header(
"Ajustes de alabeo")]
34 [Tooltip(
"Ángulo máximo de alabeo (grados)")]
40 [Tooltip(
"Velocidad de interpolación del alabeo")]
48 private Rigidbody2D
rb;
79 rb = GetComponent<Rigidbody2D>();
108 vp.x = Mathf.Clamp(vp.x, 0.04f, 0.96f);
109 vp.y = Mathf.Clamp(vp.y, 0.08f, 0.94f);
111 myTransform.position =
myCamera.ViewportToWorldPoint(vp);
120 float h = Input.GetAxis(
"Horizontal");
121 float v = Input.GetAxis(
"Vertical");
122 return new Vector2(h, v).normalized;
137 Quaternion desiredRot = Quaternion.Euler(0f,
targetRoll, 0f);
139 myTransform.rotation = Quaternion.RotateTowards(
Componente que permite mover un jugador en 2D a través de entrada de usuario (WASD o flechas),...
void Awake()
Inicializa las referencias de transform y cámara al momento de despertar el objeto.
float speed
Velocidad de desplazamiento del jugador en unidades por segundo.
void ClampFinalPosition(Vector2 currentDir)
Traslada al jugador en la dirección indicada y lo mantiene dentro de los márgenes visibles del viewpo...
float targetRoll
Ángulo de rotación objetivo en el eje Z para el alabeo.
float rollSpeed
Velocidad a la que se interpola la rotación hacia el ángulo deseado.
void HandleRoll(float horizontalInput)
Aplica una rotación visual suave (alabeo) en el eje Z según la dirección horizontal del jugador....
Vector2 GetDirection()
Lee la entrada del jugador (teclas WASD o flechas) y devuelve un vector normalizado de dirección.
Camera myCamera
Referencia a la cámara principal, usada para limitar el movimiento del jugador en pantalla.
Transform myTransform
Transform local del jugador, cacheado para optimizar acceso.
float maxRollAngle
Ángulo máximo de inclinación visual (roll) en grados. Representa cuánto puede inclinarse el objeto la...
void Start()
Obtiene la referencia al Rigidbody2D al comenzar el juego.
void Update()
Lógica principal de movimiento. Se ejecuta en cada frame. Calcula dirección, aplica desplazamiento y ...
Rigidbody2D rb
Referencia al Rigidbody2D del jugador (necesario para la física, aunque aquí no se usa movimiento por...