viernes, 9 de agosto de 2019

[Tutorial] Pictures múltiples con 2 variables (Rpg maker 2003)

Esto creo que es más un bug o causa de que Rpg maker 2003 procesa las cosas muy rápido que una función propia.

Así que os puede valer el truco, no sé si puede ir en editores más nuevos.

Los preparativos:

Hay que tener un picture como la sombra de un árbol, u otra cosa similar y poner lo siguiente:

Creamos un evento donde está el árbol, en proceso paralelo.

Lo siguiente es:
--------------------------------
Operación de variable 0001 Pos x a Este evento.
Operación de variable 0002 Pos y a Este evento.

Mostrar imagen n°1
Variable x 0001
Variable y 0002

Eliminar evento
---------------------------------
Con esto muestras la imagen "cerca" de donde está el árbol, personalmente nunca lo veo centrada a la primera.
Así que pruebas el juego,
digamos que lo correcto es
X +3
Y -4
(Por ejemplo)

Pues esta parte la ponemos antes de mostrar la imagen.

Es decir así como ejemplo.
--------------------------------
Operación de variable 0001 Pos x a Este evento.
Operación de variable 0001 +3
Operación de variable 0002 Pos y a Este evento.
Operación de variable 0002 -4

Mostrar imagen n°1
Variable x 0001
Variable y 0002

Eliminar evento
---------------------------------
He añadido los px que corrigen la
posición.

Ahora el truco es que si ponemos otro árbol, copiamos este evento allí,
solo hay que cambiar el ID del picture, el número.
Las variables aunque "deberian" ser las del otro, se actualizan.

Probad el juego y si todo sale bien, los dos árboles saldrán con sombra.

Imaginad en un mapa con 100 árboles, poner 200 variables y de este modo se pueden poner 2 nada más.
La alternativa es 1 solo picture del mapa completo. Así que esto vale para mapas pequeños como alternativa.
------------------------------------

Mi teoría es que al procesarse tan rápido y evento por evento, da tiempo a que guarde la posición del picture x e y, termina y otra usa las mismas variables, además al eliminarse pues ahorramos más procesos (también se pueden dejar en loop con 100s de espera), pero pudiendo borrarlo.