Foros del Web » Creando para Internet » Flash y Actionscript »

Ayuda Por Favor......

Estas en el tema de Ayuda Por Favor...... en el foro de Flash y Actionscript en Foros del Web. Hola estoy haciendo un juego de memoria y no me termina de salir bien. en el fotograma numero 25 coloco lo siguiente: stop(); //definiciones _root.listo ...
  #1 (permalink)  
Antiguo 20/08/2007, 09:10
 
Fecha de Ingreso: marzo-2007
Mensajes: 14
Antigüedad: 10 años, 8 meses
Puntos: 0
Ayuda Por Favor......

Hola estoy haciendo un juego de memoria y no me termina de salir bien. en el fotograma numero 25 coloco lo siguiente:
stop();

//definiciones
_root.listo = true; //bloquear ejecucion durante tiempo de espera
num_x = 4; //numero de cartas en horizontal
num_y = 3; //numero de cartas en vertical
num = num_x * num_y; //numero de cartas = 12
pos0x = 70; //posicion inicial de la primera carta
pos0y = 80; //posicion inicial de la primera carta
dist = 10; //distancia en pixeles entre las cartas
width = card1a._width; //anchura de las cartas
height = card1a._height; //altura de las cartas
//array inicial con todas las cartas ordenadas
cards_init = new Array(card1a, card1b, card2a, card2b, card3a, card3b, card4a, card4b, card5a, card5b, card6a, card6b);

//mesclar array de cartas
cards = new Array();
for (i=0;i<num;i++){
pos = random(cards_init.length);
value = cards_init[pos];
cards.push(value);
cards_init.splice(pos, 1);
}
//trace(cards.join());

//mesclar cartas
pos_x = 1;
pos_y = 1;
for (i=0;i<num;i++){
cards[i]._x = pos0x+(pos_x)*dist+(pos_x-1)*width;
cards[i]._y = pos0y+(pos_y)*dist+(pos_y-1)*height;
//trace(pos_x+"/"+pos_y+": x="+cards[i]._x+", y="+cards[i]._y+" >>> "+cards[i]._name);
if (pos_x == num_x) {
pos_x = 1;
pos_y++;
}
else pos_x++;
}

Luego en cada uno de los movi clic que son las tarjetas que hay que voltear para jugar coloco esto:

onClipEvent (MouseUp) {
if (_root.listo && hitTest(_root._xmouse,_root._ymouse,false)){
if (this._currentframe == 1){
gotoAndStop(2);
this_name = this._name.substr(0, this.length-1);
_root.abierta += 1;
if (_root.abierta == 1){
_root.cartabierta1 = this;
_root.cartabierta1_name = this_name;
}
else if (_root.abierta == 2) {
_root.abierta = 0;
_root.cartabierta2 = this;
if (_root.cartabierta1_name == this_name){
this._alpha = 50;
_root.cartabierta1._alpha = 50;
_root.parejas += 1;
if (_root.parejas == _root.num/2){
_root.parejas = 0;
_root.gotoAndPlay(26);
}
}
else{
_root.listo = false;
_root.timer.gotoAndPlay(2);
}
}
}
}
}

entre otras cosas que manejan la parte de que las terjetas sean aleatorias.
las cartas cada ves que empiezo el juego se colocan en diferentes posiones es decir lo de aleatorio si funciona pero resulta que cuando hago clic en dos tarjetas que no son las mismas no se cierran quedan abiertas y le doy clic a otra y todas quedan abiertas

estoy desesparada ayudenme por favor...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:48.