Componente que permite mover un jugador en 2D a través de entrada de usuario (WASD o flechas), con restricción de movimiento dentro del viewport y opción de rotación visual (alabeo). Más...
Diagrama de herencia de PlayerController
Diagrama de colaboración de PlayerController:Atributos públicos | |
| float | speed = 5f |
| Velocidad de desplazamiento del jugador en unidades por segundo. | |
| float | maxRollAngle = 20f |
| Ángulo máximo de inclinación visual (roll) en grados. Representa cuánto puede inclinarse el objeto lateralmente. | |
| float | rollSpeed = 5f |
| Velocidad a la que se interpola la rotación hacia el ángulo deseado. | |
Métodos privados | |
| void | Awake () |
| Inicializa las referencias de transform y cámara al momento de despertar el objeto. | |
| 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 mantiene al jugador dentro de pantalla. | |
| void | ClampFinalPosition (Vector2 currentDir) |
| Traslada al jugador en la dirección indicada y lo mantiene dentro de los márgenes visibles del viewport. | |
| Vector2 | GetDirection () |
| Lee la entrada del jugador (teclas WASD o flechas) y devuelve un vector normalizado de dirección. | |
| void | HandleRoll (float horizontalInput) |
| Aplica una rotación visual suave (alabeo) en el eje Z según la dirección horizontal del jugador. Mejora la sensación de movimiento fluido en naves o vehículos. | |
Atributos privados | |
| Rigidbody2D | rb |
| Referencia al Rigidbody2D del jugador (necesario para la física, aunque aquí no se usa movimiento por fuerzas). | |
| Transform | myTransform |
| Transform local del jugador, cacheado para optimizar acceso. | |
| Camera | myCamera |
| Referencia a la cámara principal, usada para limitar el movimiento del jugador en pantalla. | |
| float | targetRoll = 0f |
| Ángulo de rotación objetivo en el eje Z para el alabeo. | |
Componente que permite mover un jugador en 2D a través de entrada de usuario (WASD o flechas), con restricción de movimiento dentro del viewport y opción de rotación visual (alabeo).
Definición en la línea 16 del archivo PlayerController.cs.
|
inlineprivate |
Inicializa las referencias de transform y cámara al momento de despertar el objeto.
Definición en la línea 68 del archivo PlayerController.cs.
Hace referencia a myCamera y myTransform.
|
inlineprivate |
Traslada al jugador en la dirección indicada y lo mantiene dentro de los márgenes visibles del viewport.
| currentDir | Dirección unitaria de movimiento calculada desde la entrada. |
Definición en la línea 103 del archivo PlayerController.cs.
Hace referencia a myCamera, myTransform y speed.
Referenciado por Update().
Gráfico de llamadas a esta función:
|
inlineprivate |
Lee la entrada del jugador (teclas WASD o flechas) y devuelve un vector normalizado de dirección.
Definición en la línea 118 del archivo PlayerController.cs.
Referenciado por Update().
Gráfico de llamadas a esta función:
|
inlineprivate |
Aplica una rotación visual suave (alabeo) en el eje Z según la dirección horizontal del jugador. Mejora la sensación de movimiento fluido en naves o vehículos.
| horizontalInput | Valor horizontal de entrada entre -1 y 1. |
Definición en la línea 130 del archivo PlayerController.cs.
Hace referencia a maxRollAngle, myTransform, rollSpeed y targetRoll.
|
inlineprivate |
Obtiene la referencia al Rigidbody2D al comenzar el juego.
Definición en la línea 77 del archivo PlayerController.cs.
Hace referencia a rb.
|
inlineprivate |
Lógica principal de movimiento. Se ejecuta en cada frame. Calcula dirección, aplica desplazamiento y mantiene al jugador dentro de pantalla.
Definición en la línea 86 del archivo PlayerController.cs.
Hace referencia a ClampFinalPosition() y GetDirection().
Gráfico de llamadas de esta función:| float PlayerController.maxRollAngle = 20f |
Ángulo máximo de inclinación visual (roll) en grados. Representa cuánto puede inclinarse el objeto lateralmente.
Definición en la línea 35 del archivo PlayerController.cs.
Referenciado por HandleRoll().
|
private |
Referencia a la cámara principal, usada para limitar el movimiento del jugador en pantalla.
Definición en la línea 58 del archivo PlayerController.cs.
Referenciado por Awake() y ClampFinalPosition().
|
private |
Transform local del jugador, cacheado para optimizar acceso.
Definición en la línea 53 del archivo PlayerController.cs.
Referenciado por Awake(), ClampFinalPosition() y HandleRoll().
|
private |
Referencia al Rigidbody2D del jugador (necesario para la física, aunque aquí no se usa movimiento por fuerzas).
Definición en la línea 48 del archivo PlayerController.cs.
Referenciado por Start().
| float PlayerController.rollSpeed = 5f |
Velocidad a la que se interpola la rotación hacia el ángulo deseado.
Definición en la línea 41 del archivo PlayerController.cs.
Referenciado por HandleRoll().
| float PlayerController.speed = 5f |
Velocidad de desplazamiento del jugador en unidades por segundo.
Definición en la línea 25 del archivo PlayerController.cs.
Referenciado por ClampFinalPosition().
|
private |
Ángulo de rotación objetivo en el eje Z para el alabeo.
Definición en la línea 63 del archivo PlayerController.cs.
Referenciado por HandleRoll().