Diciembre 30, 2014, 03:21:30 PM Ultima modificación: Diciembre 30, 2014, 03:32:03 PM por dragon01
Tengo una duda intentare explicarla bien, estas combatiendo, si ganas aparece un circulo en la parte superior, si pierdes una X. No importa las veces que compitas, simplemente es asi.
Para lograrlo yo ize lo siguiente, si ganas: aparece el objeto cirulo en la posicion (x,y), y si pierdes aparece una X en la misma posicion.
Lo que yo quiero hacer es que aparezcan los circulos o las X unas a la derecha de las otras, osea segun vas peleando aparezeran circulo o X en orden de izquierda a derecha arriba de la pantalla.
Ami me ocurre que me aparecen siempre en la posicion y se van pisando porque es normal yo solo puse, si ganas aparece circulo o x siempre en la misma posicion.
como puedo lograr que vayan apareciendo unos a la derecha de los otros?

(tambien existe el empate en cuyo caso no aparece ningun simbolo)


Lo que ami se me ocurre es crear un objeto y en el evento step poner algo asi:
crear una variable que sea igual al numero de objetos X + el numero de objetos circulo que ay en el room, entonces si ay 5 objetos X y circulo, entonces la variable sera 5, y luego dependiendo del valor de esta variable se podria crear el objeto X o circulo en posiciones relativas a esta variable, pero nose como se podra acer eso.

yo encuentro que es mejor utilizar listas, ya que vas agregando datos de forma dinamica (ya que no hay un limite de elementos), o bien arreglos (si hay un limite de elementos), si fuere el caso en que utilices una cantidad limitada de elementos (por ej: n elementos para mostrar) podrias hacerlo asi:

Evento Create

// n es el numero de rondas posibles
for (var i=0; i<n; i++) rondas_ganadas[i] = -1;
ronda_actual = 0;
// el arreglo rondas_ganadas puede tener 3 posibles casos
// 0 : perdio
// 1 : gano
// -1 : indefinido aun



luego, para saber si ganas o pierdes(que en realidad no se como tienes tus algoritmos)

rondas_ganadas[ronda_actual] = valor; // -1, 0, 1
if (valor != -1) ronda_actual++;

donde "valor" es 0 si perdio, 1 si gano, -1 si empato


Deberias crear un sprite que tenga como sub-imagen 0 -> cruz, 1 -> circulo
Evento Draw

for (var i=0; i<n; i++)
{
    if (rondas_ganadas[i] != -1)
    draw_sprite(spr_xo,rondas_ganadas[i],px+w*i,py);
}


donde spr_xo es el sprite con las dos imagenes, (px,py) es el punto superior izquierdo del lugar en donde se dibujan los circulos y equis, w es la separacion entre cada imagen...

ojala que esta idea te sirva :) ... no la he probado pero me imagino que funciona si la adaptas bien
Saludos!
El ayer es un recuerdo, el mañana un pensamiento, es el ahora en donde existo y vivo para ser feliz :D