Saltar al contenido principal

Editor de escenas

El editor de escenas es donde diseñas las salas de un juego: cada nivel, cada pantalla. En una sala colocas mapas de tiles, fondos y objetos, les das comportamientos y reglas sin escribir código, y la pruebas con Play sin salir del editor.

Cada sala es un fichero .scn de la carpeta Scenes del proyecto. Al guardarla, el IDE la traduce a código JARU normal, en la carpeta Code, y tu juego importa ese código.

Empieza por la guía

Si es tu primer juego con salas, Tu primer juego con salas lo hace de principio a fin: las salas, el código que generan y el bucle del juego.

El editor de escenas con la sala Arena abierta y el objeto player elegido

Crear y abrir una sala​

  • Para crear una sala, haz clic derecho en el explorador del proyecto y elige New Scene, o pulsa el botón New Scene de su barra. Escribe el nombre del fichero: el .scn se crea en Scenes, o en la carpeta que tengas elegida en el explorador (ver Proyectos).
  • La sala nueva se abre sola, con una capa de tiles (Tiles) y otra de objetos (Objects). Si el editor tenía otra sala a la vista, la nueva copia sus ajustes de Room: el tamaño, la rejilla, la pantalla, el fondo, la música, la cámara y la física. No copia el mapa de colisión, a quién sigue la cámara, las variables ni el código.
  • Ponle un nombre sin espacios ni tildes: de él salen los nombres de su código y de sus funciones (lo explica Tu primer juego con salas).
  • Para abrir una sala, haz doble clic en su .scn en el explorador. Si ya está abierta, el editor pasa a su pestaña.
  • El botón Scenes de la cinta (pestaña Home, panel View) abre la ventana del editor, o la trae delante.
  • Close, en la barra del editor, cierra la sala que tienes a la vista. Si tiene cambios sin guardar, pregunta antes.

La ventana​

  • La barra de herramientas, arriba. A la izquierda, Undo y Redo, las herramientas, el zoom y el menú View. A la derecha, Logic (las reglas de la sala), Play, Compile, Generate, Save y Close.
  • Las pestañas de las salas, encima del lienzo: una por sala abierta, con el nombre de su fichero. Un * detrás quiere decir que tiene cambios sin guardar.
  • El lienzo, en el centro: la sala con todas sus capas, con un margen alrededor. El marco verde es la pantalla del dispositivo.
  • El panel SCENE, a la izquierda: el árbol de capas, de Front (lo que se pinta delante) a Back (el fondo), con los objetos de cada capa debajo de ella. Arriba, los botones + Tiles, + Image y + Objects, que añaden capas, y la caja Filter objects, que filtra los objetos por nombre o por etiqueta. El ojo y el candado de cada fila los cuenta Capas.
  • El panel de la derecha, con tres pestañas:
    • Object: la sección LAYER, con la capa activa, y la sección INSTANCE, con el objeto elegido. Debajo, Duplicate y Delete. Al elegir un objeto, LAYER se pliega para dejarle sitio; un clic en la cabecera de una sección la pliega o la despliega.
    • Room: la sección ROOM, con los ajustes de la sala.
    • Game: la sección GAME, con lo que comparten todas las salas del juego.
  • La tira ASSETS, debajo del lienzo: los sprites, las imágenes, los mapas de tiles y las músicas del proyecto, con un filtro (All, Sprites, Images, Tilemaps y Music) y una caja Search. Un sprite o una imagen se colocan con Place, arrastrándolos al lienzo o con doble clic; un mapa de tiles, arrastrándolo o con doble clic; una música, con doble clic, y pasa a ser la de la sala. El botón de su cabecera la pliega.
  • La barra de estado, abajo: el nombre de la sala, su tamaño, cuántas capas, objetos y objetos elegidos tiene, y el zoom. Con el ratón sobre el lienzo, sus coordenadas y la celda que hay debajo. A la derecha, el botón del panel de problemas.

Las páginas de este manual​

Esta página cuenta la ventana, el lienzo y las herramientas. Lo demás está en:

  • Capas: las capas de tiles, de imagen y de objetos, y el orden en que se pintan.
  • Objetos: colocar sprites, imágenes, formas y zonas; su cuerpo y su collider; las propiedades, las plantillas y el código de cada objeto.
  • Comportamientos: los doce que se añaden a un objeto sin escribir código, como Patrol o Platform control.
  • Reglas y estados: las reglas de la sala (Logic: cuando pasa algo, haz algo) y las máquinas de estados de los objetos.
  • La sala y el juego: la pestaña Room (música, colisión, cámara, física, variables y código de creación) y la pestaña Game, con lo que es de todo el juego.
  • El código que genera: los ficheros .gen.aru, las salas como datos y cómo se mezcla todo con tu código.

Para usar las salas desde tu código están los módulos Scene, Sprite y GridMap.

Herramientas​

La barra cambia con la capa activa, la que eliges en el árbol. Con una capa de objetos salen Select, Place, Shape, Zone y Path; con una de tiles o de imagen, solo Move. Pan está siempre. Las teclas 1 a 6 eligen una herramienta cuando el foco no está en un campo.

HerramientaTeclaQué hace
Select1Elige objetos y los mueve. Arrastrando en vacío dibuja una marquesina. Con un objeto elegido salen sus tiradores.
Place2Cada clic coloca en la capa activa el sprite o la imagen que has elegido en ASSETS. Con Snap to the grid cae alineado a la celda del clic. Una copia transparente enseña dónde caerá. Un clic sobre un objeto del mismo recurso lo elige, en vez de poner otro encima.
Shape3Arrastra para dibujar una forma; un clic suelto hace una de una celda. Su tipo, su color y si va rellena se eligen en INSTANCE.
Zone4Arrastra para marcar una zona: un rectángulo que las reglas vigilan, como una salida. El juego no la pinta, salvo con Show in game. Un clic suelto marca una celda.
Pan5Arrastra para desplazar la vista.
Path6Dibuja una ruta, la que sigue el comportamiento Follow route. Cada clic añade un nodo, un clic en un tramo inserta uno y un nodo se mueve arrastrándolo. Supr quita el nodo que hay bajo el ratón, o el último. Esc, Intro o un doble clic la terminan y vuelven a Select.
MoveCon una capa de tiles o de imagen activa: arrastra la capa entera. Con Snap to the grid, una capa de tiles se ajusta a las celdas de su mapa.

Los detalles de cada cosa que se coloca están en Objetos y en Capas.

El lienzo​

Zoom y desplazamiento​

  • - y +, en la barra, o las teclas - y +: alejan y acercan. Ctrl y la rueda del ratón hacen lo mismo hacia el cursor: lo que tienes debajo se queda debajo.
  • El zoom va del 10 % al 800 %. La cifra de la barra dice el actual.
  • Fit (F) encaja en la vista todo lo que hay: la sala y los mapas que se salgan de ella.
  • 1:1 (Ctrl+0) vuelve al 100 %.
  • Para moverte por la sala: las barras de desplazamiento, la herramienta Pan, o arrastrar con Espacio pulsado o con el botón central del ratón, con cualquier herramienta.
  • El editor recuerda el zoom y la capa activa de cada sala, también de una vez para otra. No recuerda por dónde ibas: al cambiar de pestaña, las barras se quedan donde estaban. F encaja la sala.

El menú View​

El botón View abre un menú con lo que enseña el lienzo y con los dos ajustes. El editor lo recuerda de una vez para otra.

OpciónDe serieQué hace
Snap to the gridSíLo que colocas, mueves o estiras se ajusta a la rejilla de Room › Snap (px).
GridSíPinta esa rejilla dentro de la sala, con una línea de cada ocho más marcada.
Device screenSíEl marco verde, del tamaño de Room › Screen (px): lo que cabe en la pantalla del dispositivo. Su etiqueta se arrastra: así ves lo que enseñaría la cámara en otro punto de la sala y cómo se desplazan allí las capas con parallax.
Camera boundsSíLos límites de la cámara, con una línea a trazos, si la sala los usa (Use bounds).
CollidersNoLas cajas de colisión de todos los sprites y las imágenes. La del objeto elegido se ve siempre.
Object namesNoEl nombre de cada objeto, encima de él.
What the behaviours doSíDibuja lo que hace cada comportamiento, sin ejecutar nada: hasta dónde llega una patrulla, la ruta que sigue un objeto… También las máquinas de estados.
Snap to other objectsSíAl arrastrar, lo que mueves se pega a los bordes y a los centros de los demás objetos y de la sala, y una guía lo enseña.

Alt, mientras arrastras, suelta los dos ajustes.

Elegir objetos​

  • Con Select, un clic elige el objeto que se ve delante, de cualquier capa visible y sin bloquear.
  • Shift y clic añade un objeto a la selección, o lo quita.
  • Arrastrar en vacío dibuja una marquesina, que elige los objetos de la capa activa que toca. Con Shift, los suma a los que ya había.
  • Ctrl+A (Select all in the layer) elige todos los objetos de la capa activa.
  • En el árbol, un clic elige el objeto y hace activa su capa. Ctrl y clic lo suma o lo quita; Shift y clic elige todos los que hay entre el principal y él, en esa capa.
  • Esc deja la selección vacía.
  • Con varios objetos elegidos, el último que pinchaste es el principal: es el que enseña INSTANCE y el que manda al arrastrar el grupo.
  • Los objetos ocultos o bloqueados no se eligen en el lienzo: ni con un clic, ni con la marquesina, ni con Ctrl+A. En el árbol, sí.

Mover, girar y cambiar el tamaño​

  • Arrastra lo elegido para moverlo: el grupo se mueve junto. Con Snap to the grid se ajusta a la rejilla, y con Snap to other objects, a los demás objetos. Alt suelta los dos ajustes mientras arrastras.
  • Ctrl y arrastrar clona: duplica lo elegido y mueve la copia. Pulsa Ctrl antes de empezar a arrastrar.
  • Esc a mitad de un arrastre lo cancela: todo vuelve a su sitio.
  • Las flechas mueven lo elegido un paso de la rejilla, o un píxel con Shift o sin Snap to the grid. Con una capa de tiles o de imagen activa, mueven la capa entera.
  • Con un solo objeto elegido salen sus tiradores. Una forma o una zona tiene ocho, para cambiar su tamaño. Un sprite o una imagen tienen uno encima, para girarlos; con Shift, el giro va de 15 en 15 grados. Un sprite o una imagen no cambian de tamaño: la VM no los escala.
  • H y V voltean el objeto principal, como Flip X y Flip Y. En una ruta, la reflejan.
  • Re Pág y Av Pág suben o bajan lo elegido un puesto en el orden de dibujo de su capa; Inicio y Fin lo llevan delante o detrás del todo.

Copiar, borrar y deshacer​

  • Ctrl+C, Ctrl+X y Ctrl+V copian, cortan y pegan objetos, también de una sala a otra. Lo pegado va a la capa activa, que tiene que ser de objetos. En la misma sala sale desplazado un paso de la rejilla; desde otra sala, en el mismo sitio que tenía. Si su nombre ya existe en la sala, la copia recibe otro.
  • Ctrl+D o Duplicate duplica lo elegido, desplazado un paso de la rejilla.
  • Supr o Delete borra lo elegido, sin preguntar. Ctrl+Z lo devuelve.
  • Undo (Ctrl+Z) y Redo (Ctrl+Y) recorren el historial de la sala, de hasta 60 pasos. Cada sala tiene el suyo. Con la pestaña Game a la vista, deshacen y rehacen los cambios del juego, que tiene su propio historial.
  • Los toques seguidos de las flechas, en un campo o moviendo objetos, cuentan como un solo paso. El ojo y el candado no entran en el historial.

El menú contextual​

Un clic derecho en el lienzo abre este menú. Si pinchas fuera de lo elegido, antes la selección pasa a ser lo que hay debajo, o nada.

OpciónQué hace
Cut, Copy y PasteComo Ctrl+X, Ctrl+C y Ctrl+V.
DuplicateComo Ctrl+D.
DeleteComo Supr.
Bring to front, Bring forward, Send backward y Send to backEl orden de dibujo dentro de la capa, como Inicio, Re Pág, Av Pág y Fin.
AlignAlinea lo elegido por los bordes o por los centros, con dos objetos o más. Distribute horizontally y Distribute vertically reparten sus centros a la misma distancia, con tres o más.
Move to the active layerLleva lo elegido a la capa activa, si es de objetos.
Snap to the gridLleva lo elegido a la rejilla.
Delete this route node y Reverse the routeSolo con una ruta elegida: quitan el nodo que hay bajo el ratón o le dan la vuelta a la ruta.
Select all in the layerComo Ctrl+A.

El árbol tiene su propio menú. En la fila de una capa, Rename, Duplicate, Delete, Move the layer forward y Move the layer back actúan sobre la capa; en la de un objeto, Rename, Duplicate, Delete, Bring forward y Send backward actúan sobre los objetos elegidos. Lo cuenta Capas.

Guardar, generar, probar y compilar​

  • Save (Ctrl+S) guarda la sala en su .scn y, si has cambiado algo en la pestaña Game, también Scenes/Game.json. Si la sala tiene Generate .aru encendido (Room › BUILD), que es como viene, escribe además el código en Code; qué escribe lo cuenta El código que genera. El botón se apaga cuando no hay nada que guardar.
  • Generate (Ctrl+G) guarda la sala y escribe su código ya, aunque Generate .aru esté apagado; entonces la barra de estado avisa de que un Build no lo pondrá al día. La barra de estado dice qué fichero ha escrito y el import que tienes que poner en tu juego.
  • Play prueba la sala sola. La guarda, la compila con un programa de prueba que no forma parte del proyecto y la ejecuta en la VM de Windows, aunque el Target sea una placa. No es tu juego: no hay menú, ni vidas, ni final; carga la sala, mueve sus comportamientos, aplica sus reglas y la pinta.
    • Esc cierra la vista previa.
    • Si la sala pide otra con Ask for another room, la vista previa también la carga.
    • Lo que imprime sale en la ventana Output del IDE.
    • Si no compila, el error sale el primero en el panel de problemas, que se abre solo.
    • Con Generate .aru apagado no hay nada que probar.
  • Compile guarda las salas abiertas y compila el juego entero, como Build › Compile, sin ejecutarlo. Al acabar, la barra de estado dice si ha compilado; los errores están en Output y en la lista de errores.

Los cuatro se quedan también con lo que estuvieras escribiendo en un campo o en una ventana de código. Una sala guardada por un IDE más nuevo se abre en solo lectura: la barra de estado dice READ ONLY, y ni se guarda ni se prueba, aunque Generate sí vuelve a escribir su código generado.

El panel de problemas​

El botón de la derecha de la barra de estado resume lo que el editor ve mal en la sala. Dice No problems, o cuántos errores y avisos hay: 1 error(s), 2 warning(s), por ejemplo. Se pone rojo si hay errores y ámbar si solo hay avisos. El editor vuelve a mirar la sala él solo mientras trabajas.

Un clic en el botón abre la ventana Problems, con la lista:

  • un punto rojo es un error: el código que genera la sala no compila;
  • un punto ámbar es un aviso: compila, pero no hará lo que pediste.

La ventana no te impide seguir trabajando: puedes dejarla abierta y ver cómo se vacía mientras arreglas. Un doble clic en un problema, o Intro, te lleva a donde se arregla: elige el objeto y lo enseña en el lienzo, activa la capa, abre la pestaña Room o la ventana Room logic de las reglas. Esc o Close la cierran.

Se abre sola cuando Play no compila. El error del compilador sale el primero, en rojo; si cae en tu código (el de creación de la sala o el de un objeto), el doble clic abre esa ventana en su línea.

Si algún aviso pide un control del juego que no existe, sale el botón Create missing controls, que lo crea en la pestaña Game.

La ventana Problems con el aviso de una regla

Qué comprueba​

  • Lo que no se encuentra: un comportamiento, una regla o un estado que nombra un objeto, una zona, una etiqueta, una variable, una plantilla, una música o un control que no existen, o que no tiene nada elegido.
  • Lo que ya no está en el proyecto: el sprite o la imagen de un objeto, el mapa o la imagen de una capa, el mapa de colisión o la música de la sala.
  • Nombres que chocan en el código: dos objetos, dos etiquetas o dos variables que dan el mismo nombre en el código generado, o dos salas que escribirían el mismo fichero.
  • Comportamientos que no pueden hacer lo que piden: uno que necesita la física de la sala y la sala no la tiene, o un cuerpo que no se puede mover como pide.
  • La colisión: valores de Solid values o One-way values que no son números, o una capa que pinta el mapa de colisión con parallax, con desplazamiento propio o con Wrap X / Wrap Y.
  • Las rutas y la cámara: una ruta sin etiqueta, con menos de dos nodos o con la etiqueta de otra; la cámara que sigue a un objeto que ya no está.
  • El juego: un Target de placa en el que ningún control tiene botón, un ritmo de juego demasiado bajo (pestaña Game), una función de Call a function of yours que no está en el código del proyecto, o Generate .aru apagado.

Atajos​

Valen con el foco en la ventana del editor. Con el foco en un campo de texto, una rejilla o un desplegable, las teclas son del campo y solo valen Ctrl+S y Ctrl+G. En el árbol, las flechas recorren las filas. Las ventanas Room logic, States y las de código tienen sus propias teclas: en ellas no valen estas, y para guardar hay que volver al editor.

Teclado​

TeclaQué hace
1 a 6Elegir Select, Place, Shape, Zone, Pan o Path, por ese orden (también con el teclado numérico)
Espacio, pulsadoDesplazar la vista arrastrando, con cualquier herramienta
+ y -Acercar y alejar
FFit: encajar en la vista todo lo que hay
Ctrl+01:1: zoom al 100 %
Ctrl+ZUndo
Ctrl+YRedo
Ctrl+SSave
Ctrl+GGenerate
Ctrl+C, Ctrl+X y Ctrl+VCopiar, cortar y pegar objetos
Ctrl+DDuplicar lo elegido
Ctrl+AElegir todos los objetos de la capa activa
SuprBorrar lo elegido. Con Path, quitar un nodo de la ruta
RetrocesoCon Path, quitar un nodo de la ruta
EscCancelar un arrastre; si no, dejar la selección vacía. Con Path, terminar la ruta
IntroCon Path, terminar la ruta
F2Renombrar: lleva al campo Name del objeto elegido o, sin objeto, de la capa activa
FlechasMover lo elegido un paso de la rejilla, o la capa de tiles o de imagen activa
Shift y flechasLo mismo, de píxel en píxel
Re Pág y Av PágSubir o bajar lo elegido un puesto en el orden de dibujo
Inicio y FinLlevar lo elegido delante o detrás del todo
H y VVoltear en horizontal o en vertical (Flip X, Flip Y)

En la ventana Problems, Intro lleva al problema elegido y Esc cierra la ventana.

Ratón​

RatónQué hace
Ctrl y ruedaZoom hacia el cursor
Botón central y arrastrarDesplazar la vista
Shift y clicAñadir o quitar un objeto de la selección
Shift y marquesinaSumar a la selección lo que toca la marquesina
Ctrl y arrastrarClonar lo elegido
Alt y arrastrarMover sin ajustarse a la rejilla ni a los objetos
Shift al girarGirar de 15 en 15 grados
Doble clic con PathTerminar la ruta
Ctrl y clic en el árbolAñadir o quitar un objeto de la selección
Shift y clic en el árbolElegir todos los objetos que hay entre el principal y ese, en su capa
Botón derechoEl menú contextual
Doble clic en ProblemsIr al problema

Problemas conocidos​

  • La sala tiene dos nombres. Uno es el de su fichero .scn, que sale en la pestaña y en la lista de salas de Ask for another room. El otro es el campo Name de Room, que da nombre a su .gen.aru y a sus funciones. Al crear la sala son iguales, pero cambiar uno no cambia el otro: si renombras la sala, cambia los dos igual. El .gen.aru del nombre viejo se queda en Code: bórralo y cambia el import de tu juego.
  • El candado de una capa no la protege del todo. Solo impide elegir sus objetos con un clic en el lienzo. La marquesina, Ctrl+A y el árbol sí los eligen, y lo elegido se mueve con las flechas y se borra con Supr. Además, Place, Shape, Zone, Path y Paste ponen objetos en la capa activa aunque esté bloqueada. Con el ojo pasa lo mismo. Para no tocar una capa, no la dejes como capa activa ni elijas sus objetos en el árbol.
  • El ojo de un objeto lo saca del juego. En una capa, el ojo solo la esconde en el lienzo. En un objeto, además hace que no se genere, y Ctrl+Z no lo deshace. Si lo escondes sin querer, vuelve a pulsar el ojo.
  • Supr con una capa elegida en el árbol borra los objetos elegidos, no la capa. Pinchar la fila de una capa no deja la selección vacía: si había objetos elegidos, Supr los borra sin preguntar (Ctrl+Z los devuelve), y F2 renombra el objeto y no la capa. Para borrar una capa, usa la papelera de su fila o Delete en el menú del árbol, que preguntan antes; para renombrarla, Rename en ese menú.
  • Ctrl a mitad de un arrastre. Si pulsas Ctrl con el arrastre ya empezado, la copia salta y el original se queda donde lo habías llevado; un Ctrl+Z lo deja todo como antes. Pulsa Ctrl antes de empezar. Mientras arrastras, no pulses el botón derecho ni otras teclas: siguen actuando, y solo Esc cancela el arrastre.
  • El lienzo no ve los cambios de un sprite o de una imagen. Si retocas uno con el editor de escenas abierto, el lienzo y la tira ASSETS siguen enseñando el de antes, hasta que cierras la ventana del editor y la vuelves a abrir. Lo mismo al abrir otro proyecto sin cerrarla: ASSETS enseña miniaturas del anterior. Los mapas de tiles sí se ponen al día solos.
  • El panel de problemas avisa de más y de menos. Revisa también las reglas y los comportamientos apagados, que no se generan. Y no avisa de un Ask for another room que pide una sala que no existe (o que has renombrado), ni de una plantilla cuyo sprite has borrado.
  • Play no se entera de los recursos que renombras, mueves o borras. Lo explica, con cómo evitarlo, Tu primer juego con salas.