La gracia de esto que te puse es que son variables tipo array, ademas bidimensional, con dos indices de la forma variable[indice1,indice2]
entonces .. bueno mas que nada es explicarte como funcionan los arrays (te van a ser muy utiles como maker.. casi te diria que son las variables que mas juego te van a dar y con las que te puedes ahorrar muchos quebraderos de cabeza y lineas de codigo, asi que prestale atencion o lee sobre ellas o busca ejemplos, voy a intentar explicarlo)
ponte que queremos hacer una lista de dinero de 5 personas, personas que van del 0 al 4 (para aprovechar la posicion 0), nota, de momento usamos arrays unidimensionales, mas abajo pasamos a bidimensionales
tendriamos
dinero[0]=20;
dinero[1]=40;
dinero[2]=50;
dinero[3]=100;
dinero[4]=10;
tenemos 5 valores en el array, que corresponden a 5 personas, cada una con una cantidad que yo he elegido
entonces.. imaginate que quiero sumar el dinero de todos porque es una puesta en comun.. tendria que ir uno por uno?? y decir.. suma=dinero[0]+dinero[1]+dinero[2]+dinero[3]....
es una perdida de tiempo ya que los arrays tienen la ventaja que puedes jugar con sus indices
si hicieras un for lo podrias hacer todo de una tirada, primero inicializarias suma a 0 y luego..
suma=0;
for(i=0;i<5;i+=1){
suma=suma+dinero[ i ];
}
date cuenta que en el indice hemos puesto i que es el indice que va a ir cambiando en el for, de 0 a un numero menor que 5 sumando de 1 en 1 (asi funciona el for que he puesto)
bien, con esto tenemos que si ahora queremos asociarle el dinero a un nombre de persona tendriamos que hacer una lista aparte no?
aparte de los dinero... haria falta una de nombres llamada nombre
nombre[0]="Jose";
nombre[1]="Pepe";
nombre[2]="Diego";
nombre[3]="Rafa";
nombre[4]="Ramon";
y seguido a esto recordamos el valor del dinero que tenia cada uno
dinero[0]=20;
dinero[1]=40;
dinero[2]=50;
dinero[3]=100;
dinero[4]=10;
Entonces a nuestra forma de entender, el 0 es Jose y tiene 20, el 3 es Rafa y tiene 100, el 4 es Ramon y tiene 10...
son variables separadas que comparten indice, puedes jugar asi, o decidir hacer un array bidimensional
unificariamos todo con dos indices,, recordamos que la estructura era variable[indice1,indice2]
Entonces, indice1 lo usaremos como antes, para el numero de la persona (del 0 al 4), y indice2 lo vamos a usar con valor 0 o valor 1, si es 0 estamos con el dinero, y si es 1 estamos con el nombre de la persona, quedaria asi, unificado lo vamos a llamar listado
listado[0,0]=20;
listado[0,1]="Jose";
listado[1,0]=40;
listado[1,1]="Pepe";
listado[2,0]=50;
listado[2,1]="Diego";
listado[3,0]=100;
listado[3,1]="Rafa";
listado[4,0]=10;
listado[4,1]="Ramon";
Bien, contando con que entiendes esto, el ejemplo que te puse es que cada step que da el personaje, osea en cada instante que tu decides que se mueve (quiza lo hayas hecho por el evento Key Left o Right, no lo se la verdad, en donde hayas hecho que su eje X o Y cambie pones a continuacion el codigo que te di)
Te explico como funciona..
paso[1,0] acumula el valor del eje X del personaje en cierto momento
paso[1,1] acumula el valor del eje Y del personaje en cierto momento
y con paso [0, ] pasa lo mismo tanto en el 0 como en el 1, lo que pasa es que con paso[0, ] guardamos justo el paso anterior, pero antes de hacerlo le decimos a paso[1, ] que acumule el que tiene paso[0, ] asi creamos una memoria de los ultimos dos pasos del personaje, donde estaba hace un paso (en paso[0, ]) y donde estaba hace dos pasos ( en paso[1, ]). de esta manera si el personaje obedece a paso[1, ] andara con dos pasos de retras respecto al personaje, lo que dara la impresion de que lo persigue a su misma velocidad, que es lo que nos interesa, porque un move_towards_point()... deja mucho que desear..
espero que te haya servido
entonces .. bueno mas que nada es explicarte como funcionan los arrays (te van a ser muy utiles como maker.. casi te diria que son las variables que mas juego te van a dar y con las que te puedes ahorrar muchos quebraderos de cabeza y lineas de codigo, asi que prestale atencion o lee sobre ellas o busca ejemplos, voy a intentar explicarlo)
ponte que queremos hacer una lista de dinero de 5 personas, personas que van del 0 al 4 (para aprovechar la posicion 0), nota, de momento usamos arrays unidimensionales, mas abajo pasamos a bidimensionales
tendriamos
dinero[0]=20;
dinero[1]=40;
dinero[2]=50;
dinero[3]=100;
dinero[4]=10;
tenemos 5 valores en el array, que corresponden a 5 personas, cada una con una cantidad que yo he elegido
entonces.. imaginate que quiero sumar el dinero de todos porque es una puesta en comun.. tendria que ir uno por uno?? y decir.. suma=dinero[0]+dinero[1]+dinero[2]+dinero[3]....
es una perdida de tiempo ya que los arrays tienen la ventaja que puedes jugar con sus indices
si hicieras un for lo podrias hacer todo de una tirada, primero inicializarias suma a 0 y luego..
suma=0;
for(i=0;i<5;i+=1){
suma=suma+dinero[ i ];
}
date cuenta que en el indice hemos puesto i que es el indice que va a ir cambiando en el for, de 0 a un numero menor que 5 sumando de 1 en 1 (asi funciona el for que he puesto)
bien, con esto tenemos que si ahora queremos asociarle el dinero a un nombre de persona tendriamos que hacer una lista aparte no?
aparte de los dinero... haria falta una de nombres llamada nombre
nombre[0]="Jose";
nombre[1]="Pepe";
nombre[2]="Diego";
nombre[3]="Rafa";
nombre[4]="Ramon";
y seguido a esto recordamos el valor del dinero que tenia cada uno
dinero[0]=20;
dinero[1]=40;
dinero[2]=50;
dinero[3]=100;
dinero[4]=10;
Entonces a nuestra forma de entender, el 0 es Jose y tiene 20, el 3 es Rafa y tiene 100, el 4 es Ramon y tiene 10...
son variables separadas que comparten indice, puedes jugar asi, o decidir hacer un array bidimensional
unificariamos todo con dos indices,, recordamos que la estructura era variable[indice1,indice2]
Entonces, indice1 lo usaremos como antes, para el numero de la persona (del 0 al 4), y indice2 lo vamos a usar con valor 0 o valor 1, si es 0 estamos con el dinero, y si es 1 estamos con el nombre de la persona, quedaria asi, unificado lo vamos a llamar listado
listado[0,0]=20;
listado[0,1]="Jose";
listado[1,0]=40;
listado[1,1]="Pepe";
listado[2,0]=50;
listado[2,1]="Diego";
listado[3,0]=100;
listado[3,1]="Rafa";
listado[4,0]=10;
listado[4,1]="Ramon";
Bien, contando con que entiendes esto, el ejemplo que te puse es que cada step que da el personaje, osea en cada instante que tu decides que se mueve (quiza lo hayas hecho por el evento Key Left o Right, no lo se la verdad, en donde hayas hecho que su eje X o Y cambie pones a continuacion el codigo que te di)
Te explico como funciona..
paso[1,0] acumula el valor del eje X del personaje en cierto momento
paso[1,1] acumula el valor del eje Y del personaje en cierto momento
y con paso [0, ] pasa lo mismo tanto en el 0 como en el 1, lo que pasa es que con paso[0, ] guardamos justo el paso anterior, pero antes de hacerlo le decimos a paso[1, ] que acumule el que tiene paso[0, ] asi creamos una memoria de los ultimos dos pasos del personaje, donde estaba hace un paso (en paso[0, ]) y donde estaba hace dos pasos ( en paso[1, ]). de esta manera si el personaje obedece a paso[1, ] andara con dos pasos de retras respecto al personaje, lo que dara la impresion de que lo persigue a su misma velocidad, que es lo que nos interesa, porque un move_towards_point()... deja mucho que desear..
espero que te haya servido