PYBLOCKS / DOCUMENTACIÓN

Animación

Animá objetos con keyframes y cuadros de sprite en el workspace Animate, y después reproducí los clips desde bloques. Para movimientos rápidos y puntuales, usá tweens.

El workspace Animate

Con un proyecto abierto, abrí Animate (Ctrl+5) y seleccioná un objeto en la Hierarchy; el botón Open Animator del grupo Animator del Inspector hace lo mismo. El workspace tiene dos partes:

  • El escenario (arriba) muestra el objeto en la posición del cabezal. Arrastrá el objeto, una esquina o la perilla redonda para moverlo, cambiarle el tamaño o rotarlo. Fit (o la tecla F, o doble clic en un lugar vacío) encuadra el objeto y su recorrido.
  • El Animator (abajo): la barra del clip, la franja de propiedades (PROPERTY, AT PLAYHEAD, KEY) y la línea de tiempo con una fila por pista.
El workspace Animate con un clip abierto en la línea de tiempo.
El workspace Animate con un clip abierto en la línea de tiempo.

Mientras Animate está activo, Ctrl+Z y Ctrl+Y deshacen y rehacen los cambios de animación: agregar, mover y borrar keys, el easing, el loop, los valores escritos y un arrastre completo en el escenario como un solo paso. Cada clip tiene su propio historial.

Clips

Un clip es una animación con nombre, como Idle, Walk o Jump, guardada como archivo .pbanim.json. Un objeto puede usar varios clips.

  • New Clip te pide un nombre y crea el clip en la carpeta Animations del proyecto.
  • Load abre un archivo .pbanim.json existente (los ejemplos guardan los suyos en assets/animations) y lo asocia al objeto.
  • Los clips se guardan solos un momento después de cada cambio. Save guarda en el acto.
  • Loop define si el clip se repite. Su duración es el tiempo de su última key.
  • El campo Clip del Inspector muestra el clip actual del objeto; Clear Animation le quita todos los clips al objeto.

Un archivo de clip es JSON común con una lista de keyframes:

{
  "name": "OrbPulse",
  "kind": "animation",
  "loop": true,
  "length": 0.48,
  "keyframes": [
    { "track": "Sprite", "time": 0.0, "value_type": "sprite",
      "source_mode": "image", "sprite_asset_path": "assets/sprites/orb_0.png" },
    ...
  ]
}

Animar propiedades con keyframes

No necesitás sprites para animar: la posición, la rotación y el tamaño se pueden animar en cualquier objeto, incluso en un cuadrado liso.

  • X e Y (las pistas Position X y Position Y): dónde está el objeto, en píxeles. Son valores absolutos, así que el clip lleva el objeto a esas coordenadas exactas.
  • Rotation: grados, en sentido horario.
  • Scale X y Scale Y: ancho y alto en píxeles.
  1. Creá un clip con New Clip.
  2. Mové el cabezal: hacé clic o arrastrá en la regla de tiempo de la línea de tiempo.
  3. Con Auto-key prendido (viene así), arrastrá el objeto en el escenario o escribí un valor en la franja de propiedades. Se agrega una key en el cabezal.
  4. Llevá el cabezal a otro momento y volvé a cambiar el objeto.
  5. Apretá Play para ver el clip y Stop para volver al principio.

El rombo al lado de cada propiedad muestra su estado: relleno significa que hay una key en el cabezal; solo el contorno, que la propiedad está animada en otro momento. Hacé clic para agregar o quitar una key. Con Auto-key apagado, los cambios quedan pendientes (un rombo resaltado) hasta que hacés clic en el rombo.

Add Key pone una key en la pista seleccionada (o en todas las pistas de transformación si no hay ninguna seleccionada), y Delete Key (o Supr) borra la key seleccionada. Arrastrá una key por su fila para cambiarle el tiempo. Las keys se ajustan a pasos de 0,01 s.

Easing: hacé clic derecho en una key y elegí cómo viaja el valor hasta la key siguiente: Linear, Ease in, Ease out, Ease in-out o Step (hold).

Cuadros de sprite

La pista Sprite cambia la imagen del objeto con el tiempo, para animaciones cuadro a cuadro como caminar o una moneda que gira.

  1. Seleccioná la fila Sprite, mové el cabezal y hacé clic en Add Key (o en el rombo de Sprite).
  2. Elegí el origen: Image para elegir cualquier imagen del proyecto, o Tile para elegir un recorte de la hoja de sprites del objeto.
  3. Repetí en los tiempos siguientes, por ejemplo cada 0,10 s.

Reproducir clips desde bloques

Cuando arranca el juego, cada objeto reproduce solo su clip actual. Usá los bloques de Animation para elegir qué se reproduce:

Move with WASD / arrows reproduce solo los clips llamados Walk e Idle mientras el objeto se mueve o está quieto.

Tweens

Para un movimiento rápido que no necesita un clip, usá Animate property to. Cambia suavemente x, y, rotation_degrees, width, height u opacity hasta un valor en una duración dada, con easing linear, smooth o ease_out.

Un tween corre en segundo plano: el script sigue de inmediato. Si arrancás otro tween sobre la misma propiedad, reemplaza al anterior, y Stop property animations frena todos los tweens del objeto. Agregá un Wait con la misma duración si el script tiene que esperarlo.