Cámara
Cada room tiene una cámara, configurada en el Inspector de la room. En el código, está en scene().camera.
Propiedades
Sección titulada «Propiedades»| Propiedad | Tipo | Qué es |
|---|---|---|
x, y |
float |
Esquina superior izquierda del área mostrada, en coordenadas del mundo. |
zoom |
float |
Cuánto se amplía el mundo (1 = sin zoom). La interfaz y el onRenderGui no se amplían, y mouseX()/mouseY() ya vienen en coordenadas del mundo. |
bounded |
bool |
true = al seguir un objetivo, la cámara no sale de la room. Movida a mano, no está limitada. |
smoothing |
float |
De 0 a 10. 0 se pega al objetivo; 10 es muy suave. |
deadzoneW, deadzoneH |
float |
Tamaño del rectángulo central en el que el objetivo se mueve sin mover la cámara. |
Funciones
Sección titulada «Funciones»| Función | Qué hace | Ejemplo |
|---|---|---|
void follow(Handle<Entity> target) |
Pasa a seguir una instancia. La cámara se centra en ella ya en el primer cuadro. | scene().camera.follow(handle()); |
void stopFollowing() |
Deja de seguir; la cámara se queda donde está. | scene().camera.stopFollowing(); |
void shake(float strength, float seconds) |
Sacude la pantalla durante seconds segundos, hasta strength píxeles a cada lado, debilitándose hasta parar. |
scene().camera.shake(3, 0.2f); |
Ejemplo
Sección titulada «Ejemplo»void onSpawn() override { scene().camera.follow(handle()); // sigue a esta instancia scene().camera.smoothing = 4; scene().camera.bounded = true;}handle() devuelve una referencia segura a esta instancia: mira Handles.
