English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

Estoy realizando un memorama en flash professional mx y aun no puedo resolver un aspecto de éste mismo.

Tengo las tarjetas que cubren las imagenes y cada que se pincha sobre ellas, aparece la figura abajo, pero...
que tipo de programación debo de poner para que solo un par de cartas sean volteadas y el resto no ???

Esto es debido a que no puedo hacer que esto suceda, sino que todas las cartas son volteadas, y entonces, no tiene chiste el juego.

Estoy utilizando en las tarjetas el código:

_root.nombredelmovieclip. _visible =true
(todo sin espacios)
(o false, a según)

Espero puedan ayudarme, por favor

2006-09-09 12:56:25 · 5 respuestas · pregunta de Anonymous en Ordenadores e Internet Programación y Diseño

5 respuestas

se me ocurre una cosa:

define una variable al principio en "_root" , que te controle el número de cartas que volteas - por ejemplo: "limite_cartas" ..

var limite_cartas = 0;

Entonces, cada vez que volteas una carta, (dentro de algún evento "onRelease" o "onMouseEvent", por ejemplo) pon éste código:
_root.limite_cartas++; //esto aumenta en 1 la variable

if(_root.limite_cartas == 2) {
//esto compara hasta llegar al límite de 2 cartas volteadas
/*Aquí pones un código para detener el evento que voltea las cartas, dependiendo de la forma en que lo hagas, y también para comparar si las dos cartas son iguales o no. Se me ocurre que podrías asignarle un valor numérico a cada carta, y utilizar la función IF para comparar si son iguales */
_root.limite_cartas = 0; //esto RESETEA el contador
}

-------------
Tendría que ver tu AScript para darte más opciones.

...

2006-09-09 12:58:06 · answer #1 · answered by Dranath 999 5 · 1 0

utiliza una variable llamada "contador", que sumará la cantidad de cartas "abiertas", si la cantidad es mayor a 2, no se puede seguir abriendo más. =)

2006-09-13 04:45:00 · answer #2 · answered by Antoine Cest Que 3 · 0 0

Shhh... acabo de programar eso en action script...
Si quieres posteo a groso modo el codigo

[Code]
for (i=0; i<=18; i++)
{
eval("btn"+i).onPress = fnVoltea;
posicion = new Array();
posicion[0] = eval("btn"+i)._x;
posicion[1] = eval("btn"+i)._y;
posicionBoton.push(posicion);
numeros.push(i);
delete(posicion);
}
generaAleatorios();
posicionaCartas();
function fnVoltea()
{
turned++;
truco._x = 5420;
manterior = anterior;
anterior = actual;
actual = this._name;
botonXY = parseInt(actual.substring(3,actual.length),10);
if (turned<=2)
{
this._visible = false;
}
if (turned==3)
{
verifica(actual);
truco._x = this._x;
truco._y = this._y;
}
}
function verifica(actual:String)
{
mescogida = parseInt( manterior.substr(3,manterior.length) );
escogida = parseInt( anterior.substr(3,anterior.length) );
if (posicionCartas[mescogida]== posicionCartas[escogida])
{
manterior = "";
anterior = "";
}
else
{
eval(manterior)._visible = true;
eval(anterior)._visible = true;
}
turned = 0;
}

function generaAleatorios()
{
for (veces = 0; veces < 18; veces++)
{
do
{ i = Math.round(Math.random()*numeros.length); }
while ( (i == 0) || (numeros[i]==undefined) )
arrayAleatorios.push(numeros[i]);
numeros.splice(i,1);
}
delete(numeros);
}
[/Code]
Si gustas puedes postear tu mail y te mando el exe para que veas como funciona.
Saludos

2006-09-12 11:30:46 · answer #3 · answered by Anonymous · 0 0

tenes que utilizar funciones que te mande qué carta se pulsó, y cuantas (o sea una o dos), y listo, funciones es lo mejor. Funciones creadas por uno mismo vale aclarar, por la anterior respuesta "if" no es una función.
Es muy fácil, si queres te dejo mi correo me gusta programas en flash, ridape@hotmail.com si vas a usar msn o danper0101@yahoo.com.ar si vas a usar solo correo (no uso el y! mesenger)

2006-09-10 00:57:02 · answer #4 · answered by Daniel 5 · 0 0

ni idea budy

2006-09-09 19:57:35 · answer #5 · answered by Anonymous · 0 1

fedest.com, questions and answers