Comportamientos
Un comportamiento es una pieza de juego ya hecha que le pones a un objeto: ir y venir, perseguir a otro, andar y saltar con los controles, tener vida, crear enemigos… No escribes código: al compilar, el editor lo convierte en código JARU de la sala.
Hay doce, en tres grupos: siete de movimiento, cuatro de juego y el spawner. Un objeto puede llevar varios, pero solo uno de cada.
Si haces una plantilla de un objeto, la plantilla se lleva sus comportamientos tal como estén en ese momento. Cada copia que crea un Spawner o una regla sale con ellos.
Añadir, quitar y apagar
Elige un solo objeto, en el lienzo o en el árbol de la sala. En el inspector, pestaña Object, la sección INSTANCE tiene el apartado COMPONENTS con el botón + Add behaviour....
- Pulsa + Add behaviour.... Se abre la lista de comportamientos.
- Elige uno. En cada fila, a la derecha, sale su grupo: MOVEMENT, GAMEPLAY o SPAWN. Al lado de la lista, qué hace y sus ajustes con el valor por defecto (SETTINGS). Si no va a funcionar en ese objeto, lo avisa ahí mismo.
- Pulsa Add, haz doble clic o pulsa
Intro.
En la caja Search puedes escribir parte del nombre o del grupo. Esc cierra la lista sin añadir nada.
La lista solo ofrece lo que el objeto puede llevar:
- Lo que ya lleva no vuelve a salir.
- En una imagen, una forma o una zona solo salen Show a variable y Spawner: los demás piden un sprite.
- No se puede añadir nada a una ruta (le pones Follow route al objeto que la recorre), a un objeto de decorado ni con varios objetos elegidos.
Las tarjetas
Cada comportamiento del objeto es una tarjeta, debajo del botón:
- La cabecera lleva su nombre. Púlsala para plegar o desplegar la tarjeta.
- Debajo van sus ajustes, en dos columnas: Setting y Value. Escribe el valor o elígelo de la lista.
- En los ajustes que solo tienen unas opciones fijas, como Axis o Enabled, elige siempre de la lista: también admiten lo que escribas, y un valor que no está en ella no da error. El juego usa entonces el de serie, y en los de
trueofalse,false. - Los números admiten coma o punto decimal. Si escribes algo que no es un número, se usa el valor por defecto y el panel de problemas lo avisa.
- La x de la cabecera quita el comportamiento. Se deshace con Undo (
Ctrl+Z).
Caben cuatro tarjetas. Con cinco comportamientos o más, el quinto no se ve: mira Problemas conocidos.
Si Platform control no va a funcionar, la cabecera lo dice detrás del nombre: (physics off) si la sala no tiene física, o (needs Dynamic body) si el cuerpo del objeto no es Dynamic.
Encendido o apagado
Casi todos tienen el ajuste Enabled:
true(por defecto): empieza encendido.false: empieza apagado. Conserva sus ajustes, y una regla o un estado lo pueden encender durante el juego.
Apagado, un comportamiento no hace nada, pero sigue en el código del juego. Para quitarlo del todo, quítalo con la x.
Show a variable y Animation no tienen Enabled: siempre están encendidos.
Lo que dibujan en el lienzo
Con View › What the behaviours do encendido (lo está por defecto), el lienzo dibuja lo que hará cada uno:
- Patrol y Sine wave: el recorrido, con una marca en cada extremo.
- Follow route: la ruta, con sus puntos numerados.
- Follow / flee: una línea hasta el objetivo y, si tiene Stop within (px), su círculo.
- Spawner: su zona y el nombre de la plantilla.
- Destroy when it leaves: el borde de la sala más el margen.
- Linear motion: lo que avanza en un segundo.
Si falta algo, sale en rojo junto al objeto: route?, target?, zone? o template?.
Comportamientos de movimiento
Los siete mueven el objeto, y todos piden un objeto con sprite.
Con física y sin física
Cómo mueven el objeto depende de si la sala tiene física (pestaña Room, PHYSICS, Enabled):
- Sin física, le cambian la posición en cada fotograma. Patrol, Follow / flee y Top-down control se paran en las celdas sólidas del mapa de colisión; Linear motion, Follow route y Sine wave lo atraviesan.
- Con física, Linear motion, Patrol, Follow route, Follow / flee y Top-down control le ponen la velocidad, y lo mueve el motor de física. Entonces importa el cuerpo del objeto (Body):
| Body | Qué pasa |
|---|---|
| Visual o Static | No se mueve. El panel de problemas lo avisa. |
| Kinematic | Se mueve y no cae. El mapa de colisión no lo para: solo frena a los cuerpos Dynamic. |
| Dynamic | Se mueve y el mapa lo para. Pero el comportamiento le pone también la velocidad vertical en cada fotograma: con gravedad, baja flotando, muy despacio. Ponle Gravity scale a 0. |
Sine wave y Platform control van aparte: lo dice cada uno.
Face. Patrol, Platform control y Top-down control tienen el ajuste Face, que voltea el sprite hacia donde va:
no(por defecto): no lo toca.the way it moves: para un dibujo que mira a la derecha.the way it moves, drawn facing left: para un dibujo que mira a la izquierda.
Solo cuenta el movimiento horizontal. Parado, sigue mirando hacia donde iba.
Linear motion
Lo mueve en línea recta, siempre a la misma velocidad: balas, nubes, una plataforma que cruza la pantalla.
| Ajuste | Qué es | Unidades | Por defecto |
|---|---|---|---|
| Speed X | Velocidad horizontal. Negativa, hacia la izquierda. | px/s | 0 |
| Speed Y | Velocidad vertical. Negativa, hacia arriba. | px/s | 0 |
| Enabled | Si empieza encendido. | — | true |
- No se para nunca. Si tiene que desaparecer al salir de la sala, ponle también Destroy when it leaves.
- Con la acción Create from a template y Face like it, si el que dispara mira a la izquierda, la copia nace volteada y con la Speed X cambiada de signo: la misma plantilla de bala dispara a los dos lados.
- Cuerpo: sin física, cualquiera. Con física, Kinematic.
Patrol
Va y viene en línea recta alrededor de donde está: el enemigo que pasea por una plataforma.
| Ajuste | Qué es | Unidades | Por defecto |
|---|---|---|---|
| Axis | Por dónde va y viene: x (en horizontal) o y (en vertical). | — | x |
| Range (px) | Lo que se aleja a cada lado del punto de partida. | px | 48 |
| Speed (px/s) | Velocidad. | px/s | 40 |
| Start towards | Hacia dónde sale: forward (a la derecha o hacia abajo) o backward (a la izquierda o hacia arriba). | — | forward |
| Enabled | Si empieza encendido. | — | true |
| Face | Si voltea el sprite hacia donde va. Solo en el eje x. | — | no |
- El punto de partida es donde está al cargar la sala; en una copia de plantilla, donde nace.
- Da la vuelta al llegar a cada extremo. Mira dónde está de verdad: si algo lo empuja, no pierde el recorrido.
- Sin física, una celda sólida del mapa de colisión también le da la vuelta.
- Con física, solo los extremos: si un muro lo para antes, se queda empujándolo. Elige Range (px) para que no llegue a ningún muro.
- Cuerpo: sin física, Visual. Con física, Kinematic.
Follow route
Recorre una ruta punto por punto, a velocidad constante: una plataforma que sube y baja, un guardia que hace su ronda.
| Ajuste | Qué es | Unidades | Por defecto |
|---|---|---|---|
| Route tag | La etiqueta de la ruta que sigue. | — | (vacío) |
| Speed (px/s) | Velocidad. | px/s | 50 |
| At the end | Qué hace en el último punto: loop (vuelve al primero), pingpong (la recorre al revés) o stop (se queda ahí). | — | loop |
| Enabled | Si empieza encendido. | — | true |
- La ruta se dibuja con la herramienta Path (
6) y se le da una etiqueta en Tag. - Si no hay ninguna ruta con esa etiqueta, valen las zonas que la lleven: las recorre por su centro, en el orden de sus nombres (
zone2antes quezone10). - Sale de donde está el objeto hacia el primer punto.
- Con menos de dos puntos no se mueve. El panel de problemas lo avisa.
- Cuerpo: sin física, cualquiera, pero atraviesa el mapa de colisión (el panel de problemas lo avisa). Con física, Kinematic.
Follow / flee
Persigue a otro objeto de la sala, o huye de él, en línea recta.
| Ajuste | Qué es | Unidades | Por defecto |
|---|---|---|---|
| Target | El nombre del objeto que persigue o del que huye. | — | (vacío) |
| Speed (px/s) | Velocidad. | px/s | 40 |
| Mode | chase (perseguir) o flee (huir). | — | chase |
| Stop within (px) | Al perseguir, a qué distancia deja de acercarse. Con 0, no se para nunca. | px | 0 |
| Enabled | Si empieza encendido. | — | true |
- El objetivo es un sprite o una imagen de la sala con nombre (Name). Una copia de plantilla no tiene nombre: no puede ser el objetivo.
- Busca el objetivo al cargar la sala. Si no está, no hace nada. Si lo destruyen, deja de seguirlo.
- Va en línea recta y no rodea los obstáculos. Sin física, se para en las celdas sólidas del mapa de colisión y resbala por la pared.
- Cuerpo: sin física, Visual. Con física, Kinematic.
Sine wave
Oscila alrededor de donde está, con un vaivén suave: una moneda que flota, un pez que sube y baja.
| Ajuste | Qué es | Unidades | Por defecto |
|---|---|---|---|
| Axis | Eje del vaivén: x o y. |