Cada declaración de un objeto va seguido de uno o más comandos. Estos le indican al objeto que haga algo, llamado evento, como moverse o cambiar de color. Puedes pensar que cada comando afecta a una variable (o conjunto de variables) para ese objeto; una vez finalizado un comando, el objeto mantiene esos valores hasta que otro comando lo cambie. Los objetos que no usan un tipo particular de comando usarán el valor predeterminado para esa variable.
Un comando bajo una declaración de un objeto se ve así:
_(evento),(easing),(starttime),(endtime),(parámetros...)
en donde:
Los valores válidos para el suavizado son:
Valor | Descripción |
---|---|
0 | Lineal: sin suavizado |
1 | Easing Out: los cambios son rápidos al principio, pero luego se hacen más lentos hacia el final |
2 | Easing In: los cambios ocurren lentamente al principio, pero luego se aceleran hacia el final |
3 | Quad In |
4 | Quad Out |
5 | Quad In/Out |
6 | Cubic In |
7 | Cubic Out |
8 | Cubic In/Out |
9 | Quart In |
10 | Quart Out |
11 | Quart In/Out |
12 | Quint In |
13 | Quint Out |
14 | Quint In/Out |
15 | Sine In |
16 | Sine Out |
17 | Sine In/Out |
18 | Expo In |
19 | Expo Out |
20 | Expo In/Out |
21 | Circ In |
22 | Circ Out |
23 | Circ In/Out |
24 | Elastic In |
25 | Elastic Out |
26 | ElasticHalf Out |
27 | ElasticQuarter Out |
28 | Elastic In/Out |
29 | Back In |
30 | Back Out |
31 | Back In/Out |
32 | Bounce In |
33 | Bounce Out |
34 | Bounce In/Out |
En algunos casos especiales, se pueden usar varias abreviaturas.
Un objeto permanece activo hasta que se realiza su último comando (en términos de tiempo). Después de eso, desaparece. Si simplemente deseas que un objeto permanezca en la pantalla, sin que le pase nada, en su ubicación predeterminada, usa desvanecer (F).
Configurar un sprite/objeto con sus comandos para realizar (Evento).
Estos son los comandos fundamentales para cualquier objeto. Los comandos son fáciles de usar y solo requieren cálculos menores.
_F,(easing),(starttime),(endtime),(start_opacity),(end_opacity)
Afecta | Definición del valor | Valor predeterminado |
---|---|---|
La opacidad del objeto (qué tan transparente es). | 0 a 1, se aceptan decimales. 0 es invisible, 1 es completamente visible. | 1 |
en donde:
Por ejemplo, para desvanecer un objeto en 1 segundo (comenzando 1 segundo después de que comience el mapa), esperar 2 segundos en la mitad de la transparencia y luego desvanecerlo en 1 segundo, escribiríamos algo como:
Sprite,Pass,Centre,"Sample.png",320,240
_F,0,1000,2000,0,0.5
_F,0,4000,5000,0.5,0
Si queremos que un objeto simplemente aparezca en pantalla y no le pase nada durante 2 segundos, podríamos escribir:
Sprite,Pass,Centre,"Sample.png",320,240
_F,0,1000,3000,1,1
Véase la sección de abreviaturas para una explicación de cómo acortar esta última línea a solo:
_F,0,1000,3000,1
M,(easing),(starttime),(endtime),(start_x),(start_y),(end_x),(end_y)
Afecta | Definición del valor | Valor predeterminado |
---|---|---|
La ubicación del objeto en el área de juego. | Una posición (x,y), como se especifica anteriormente. Se permiten decimales. | La ubicación definida en la declaración de un objeto. |
en donde:
Por ejemplo, para mover un objeto por la pantalla desde la parte superior izquierda hasta la parte inferior derecha (asumiendo que la imagen tiene menos de 200 píxeles de ancho; de lo contrario, aparecerá y desaparecerá en los puntos finales):
Sprite,Pass,Centre,"Sample.png",320,240
_M,0,1500,6000,-110,-100,740,580
Entonces,
Como el comando mover, pero solo cambia la coordenada X. La coordenada Y permanece igual. Por ejemplo, para mover un objeto de la izquierda de la pantalla a la derecha:
Sprite,Pass,Centre,"Sample.png",320,240
_MX,0,1500,6000,-110,740
Entonces,
Como el comando mover, pero solo cambia la coordenada Y. La coordenada X permanece igual. Por ejemplo, para mover un objeto desde la parte inferior de la pantalla hasta la parte superior:
Sprite,Pass,Centre,"Sample.png",320,240
_MY,0,1500,6000,-100,580
Entonces,
Estos son comandos adicionales para que los use un objeto. Estos comandos son bastante avanzados, así que consulta con otras personas o experimenta tú mismo antes de usarlos.
_S,<easing>,<starttime>,<endtime>,<start_scale>,<end_scale>
Afecta | Definición del valor | Valor predeterminado |
---|---|---|
El tamaño del objeto en relación con su tamaño original (tal como aparece en su archivo). Ejemplo: para un archivo que originalmente es de 100x100, un factor de escala de 2 hará que el objeto ocupe 200x200 píxeles. La escala se ve afectada por el origen del objeto (centro, esquina superior izquierda, etc.). | El multiplicador del tamaño original del objeto, desde 0 en adelante. Se permiten decimales. | 1 |
en donde:
Por ejemplo, para hacer que un objeto haga «zoom» (por ejemplo, un fondo) desde nada hasta cinco veces su tamaño original:
Sprite,Pass,Centre,"Sample.png",320,240
_S,0,36500,37000,0,5
Entonces,
Esto es lo mismo que S, excepto que X e Y escalan por separado.
_V,(easing),(starttime),(endtime),(start_scale_x),(start_scale_y),(end_scale_x),(end_scale_y)
Por ejemplo, para hacer que un objeto se ensanche al doble de su tamaño original, pero pierda la mitad de su tamaño vertical:
Sprite,Pass,Centre,"Sample.png",320,240
_V,0,36500,37000,1,1,2,0.5
Entonces,
_R,<easing>,<starttime>,<endtime>,<start_rotate>,<end_rotate>
Afecta | Definición del valor | Valor predeterminado |
---|---|---|
La cantidad de rotación de un objeto desde su imagen original, en radianes, en el sentido de las agujas del reloj. | Cualquier número real; el negativo es la rotación en el sentido contrario de las agujas del reloj/antihorario, el positivo es en el sentido de las agujas del reloj. Exceder 2*pi en cualquier sentido seguirá girando tantas veces como desees. | 0 |
en donde:
Por ejemplo, para hacer que un objeto rote de -45 grados a +45 grados (45 grados = 0,785 radianes):
Sprite,Pass,Centre,"Sample.png",320,240
_R,0,47210,47810,-0.785,0.785
O hacer que un objeto gire en sentido antihorario cuatro veces (4 rotaciones = 8*pi radianes = 25,133 radianes):
Sprite,Pass,Centre,"Sample.png",320,240
_R,0,47210,47810,0,-25.133
_C,(easing),(starttime),(endtime),(start_r),(start_g),(start_b),(end_r),(end_g),(end_b)
Afecta | Definición del valor | Valor predeterminado |
---|---|---|
El color de la fuente de luz virtual en el objeto. Los colores de los píxeles del objeto se determinan de forma sustractiva. | Un color triple, escrito en decimal (byte). El primer valor es rojo (R), el segundo verde (G) y el tercero azul (B). Cada uno puede variar de 0 a 255. (0,0,0) indica negro, (255,255,255) indica blanco (imagen original). La transparencia no se ve afectada. | (255,255,255) |
en donde:
Por ejemplo, para hacer que un objeto aparezca como una sombra (completamente negra) y se desvanezca hasta alcanzar su color real:
Sprite,Pass,Centre,"Sample.png",320,240
_C,0,58810,59810,0,0,0,255,255,255
Para hacer que algo aparezca en amarillo (#cccc00
):
Sprite,Pass,Centre,"Sample.png",320,240
_C,0,58810,59810,CC,CC,0
A diferencia de los otros comandos, que pueden verse como el establecimiento de puntos finales a lo largo de valores de seguimiento continuo, el comando parámetro se aplica SOLO mientras están activos; es decir, no se puede colocar un comando desde las marcas de tiempo 1000 a 2000 y esperar que el valor se aplique en el tiempo 3000, incluso si los otros comandos del objeto no han terminado en ese momento.
_P,(easing),(starttime),(endtime),(parámetro)
donde (parámetro) es uno de los siguientes:
Por ejemplo, para voltear un objeto horizontal y verticalmente durante dos segundos antes de volver a la normalidad:
Sprite,Pass,Centre,"Sample.png",320,240
_P,0,60000,62000,H
_P,0,60000,62000,V
Hay comandos más complicados que no hacen nada por sí solos. En cambio, proporcionan condiciones para cuando ocurran otros eventos y se explican en páginas separadas: