este es el codigo q tengo y la verdad me super urge solucionar esto ya que tengo 1 semana y no encuentro una solucion y ya lo tengo q entregar al viernes en mi escuela agradeceria su ayuda
[code]
stop();//Mantenerse detenido en el fotograma
card_w = 70;//El tamaño de carta en parametro horizonal sera igual a 70px
card_h = 90;//El tamaño de carta en parametro vertical sera igual a 90px
card_wdistance = 10;//Distancia horizontal de la carta igual a 10 px
card_hdistance = 10;//Distancia vertical de la carta igual a 10px
card_dw = card_w + card_wdistance;//Se retoma card_dw como variable, estableciendose el calculo, del tamaño de la carta en horiontalmente mas su distancia con loas demàs
card_dh = card_h + card_hdistance;//Se retoma card_dw como variable, estableciendose el calculo, del tamaño de la carta en verticalmente mas su distancia con loas demàs
row_card = Math.floor((440 - card_wdistance) / card_dw);//Math floor, nos servirà para mantener las cartas dentro del paràmetro de distancia horizontal con valor de 440px
col_card = Math.floor((500 - card_hdistance) / card_dh);//Math floor, nos servirà para mantener las cartas dentro del paràmetro de distancia vertical con valor de 500px
n_card = col_card * row_card % 2 == 0 ? col_card * row_card : (col_card - 1) * row_card;
imgs_n = n_card / 2;//La selecciòn del numero de imagenes serà igual al numero de cartas dividida entre dos
centerImage = function(target){//Se centrarà la imagen dentro del clip de pelìcula
target.front._visible = false//Frente al clip de pelìcula, se establlecerà la posibilidad de que la imagen pueda o no ser visualizada
target.front.container._x -= target.front.container._width / 2//Formar una ventana frene que contenga una anchura de 2 px
target.front.container._y -= target.front.container._height / 2//Formar una ventana frene que contenga una anchura de 2 px
}
empty = new Array();//Se crearà un objeto
function createCard(n, w, h) {//Se crearà una funcion con numero de cartas determinadas y variables en horizontal y vertical
empty.push(n);//Añadir elementosen una matriz
this.createEmptyMovieClip('card' + n, n);//Crear un movie clie vacio retomando la instancia de "card"
with (this['card' + n]) {//Formar na frene que contenga una ancchura de 2 px
lineStyle(0, 0x0033FF, 100);//El estilo de linea obtendrà una apariencia del color seleccionado
beginFill(0xFFFF00, 60);//Las cartas obtendràn una primera apariencia con el color seleccionado
moveTo(w / 2, 0);// Mueve la posición de dibujo actual a (x, y).
lineTo(w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, 0);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
endFill();//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
createEmptyMovieClip('front', 1);//Crear en un clip de pelicula vacio
front.createEmptyMovieClip('container', 2);//Frente se crearà un clip de pelicula que permita contener dos cartas
front.createEmptyMovieClip('backgr', 1);// frente se crearà un clip de pelicula para ocultar las cartas
with (front.backgr) {//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
moveTo(-w / 2, -h / 2);// Mueve la posición de dibujo actual a (x, y).
lineStyle(0, 0x000000, 0);//Color de estilo de linea
beginFill(0x333333, 100);//Iniciar con un filtro de color y con un alpha a 100
lineTo(w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
endFill();//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
}
}
}
function generateGameField(cards, distance, hdistance) {//Se crearà una funciòn en la cual el juego establesca parametros horizontales de distancia
Ypos = card_h / 2 + hdistance;//Se posicionarà en "y" de las cartas y con distancia horizontal
Xpos = card_w / 2 + distance;//Se posicionará en "x" de las cartas con una distancia
for (c = 0; c < cards; c++) {// Para la variable "c" a la cual se le asigna un valor de cero,
createCard(c, card_w, card_h);//Crear una carta retomando variables en horizontal y vetical
if (c % row_card == 0 && c > 0) {
Ypos += this['card' + c]._height + hdistance;//La posición en "y" de la carta estará establecida
Xpos = card_w / 2 + distance;//La poscición x será igual a la carta en un eje horizontal y a una distancia de 2 px
}
this['card' + c]._x = Xpos;//Carta mas imagen posecionada dentro, configurada en una posición en "x"
this['card' + c]._y = Ypos;//Carta mas imagen posecionada dentro, configurada en una posición en "y"
Xpos += this['card' + c]._width + distance;//Estructura grafica del la exposición de la carta, anchura y distancia del boton
}
placeImages();//Colocar imagenes
}
generateGameField(n_card, card_wdistance, card_hdistance);//Generar la estructura del juego con la cantidad de cartas y distancia en horizontal y vertical
empty = new Array();//Se crearà un objeto
function createCard(n, w, h) {//Mandar a llamar cartas creadas los parametros establecidos
empty.push(n);
this.createEmptyMovieClip('card' + n, n);
with (this['card' + n]) {
lineStyle(0, 0x000000, 100);//Color de estilo de linea
beginFill(0xffff00, 60);//Iniciar con un filtro de color y con un alpha a 60
moveTo(w / 2, 0);//Distancias entre cartas
lineTo(w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, 0);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
endFill();//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
createEmptyMovieClip('front', 1);//Crear en un clip de pelicula vacio
front.createEmptyMovieClip('container', 2);//Crea un clip de película vacío frente como elemento secundario del clip de película "container"
front.createEmptyMovieClip('backgr', 1);//Crea un clip de película vacío frente como elemento secundario del clip de película "backgr"
with (front.backgr) {
moveTo(-w / 2, -h / 2);//Distancias entre cartas
lineStyle(0, 0x000000, 0);//Color de estilo de linea
beginFill(0x333333, 100);//Iniciar con un filtro de color y con un alpha a 100
lineTo(w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
endFill();//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
}
front.onEnterFrame = function() {
tot = this.container.getBytesTotal();//El total obtendrá un valor
car = this.container.getBytesLoaded();//A la carta se le asignadrá una valor que será cargado
if (tot == car && tot > 200) {//Valorp para designar una accion en caso de que las cartas sean iguales
this._parent._parent.centerImage(this._parent);
delete this.onEnterFrame;//Borrar la carta de la escena
}
};
}
}
selcards = [];//Función para seleccionar cartas
function placeImages() {
act_img = 0;
for (img = 0; img < imgs_n; img++) {
for (k = 0; k < 2; k++) {//Cantidad de veces para seleccioar en un turno
act = Math.round(Math.random() * (empty.length - 1));
this['card' + empty[act]].img_id = act_img;
this['card' + empty[act]].front.container.loadMovie("imgs/img" + act_img + ".jpg");//Se llamará una imagen en formato "jpg" y se cargará en el clip de pelicula
this['card' + empty[act]].onRelease = function() {
this.rotateCard(0, 0);
this.enabled = false;//Desactivar el boton para evitar que se vuelva a seleccionar
MovieClip.prototype.enabled = false;//Mantenet el clip de película estático y sin función
};
empty.splice(act, 1);//Eliminar de la matriz
}
act_img++;
}
}
MovieClip.prototype.rotateCard = function(v, i) {//Función para que la carta rote horizontalmente
this.operazione = v == 0 ? +0.1 : -0.1;
this.incremento = i == 0 ? 100 : 10;
selcards.push(this._name);//La carta seleccionada se mandará a llamar desde su instancia
this.onEnterFrame = function() {//Funcion para llamar un archivo desde la biblioteca o asocarlo a la velocidad del ftográma
this.incremento += this.operazione;
this._xscale = (100 * Math.sin(this.incremento));//Escala horizontal del botón aplicada desde el punto de registro del botón, expresada como porcentaje. 100
if (this._xscale > 0) {
this.front._visible = v == 1 ? false : true;//Posibilidad falseo verdadero
}
if (this._xscale >= 99) {//Escala horizontal del botón aplicada desde el punto de registro del botón, expresada como porcentaje mayor a 99
delete this.onEnterFrame;//Se eliminará de la escena
selcards.length < 2 ? MovieClip.prototype.enabled = true : null;//Si al seleccionar la carta se excede de la selección, el clip de polícula estático se anulará
v == 0 && selcards.length > 1 ? checkCards() : null;//El calor de la carta será igual a 0
}
};
};
function generateGameField(cards, distance, hdistance) {//Generar un juego de cartas con distancia ehorizontal como verticalmente
Ypos = card_h / 2 + hdistance ;//Generar parametros en "y" mas una distancia vertical de 2 px
Xpos = card_w / 2 + distance +130;////Generar parametros en "x" mas una distancia horizontal de 2 px
for (c = 0; c < cards; c++) {
createCard(c, card_w, card_h);
if (c % row_card == 0 && c > 0) {
Ypos += this['card' + c]._height + hdistance;
Xpos = card_w / 2 + distance+130;
}
this['card' + c]._x = Xpos;//La instancia del clip de película carta se mantendrá dentro de los parametros x
this['card' + c]._y = Ypos;//La instancia del clip de película carta se mantendrá dentro de los parametros y
Xpos += this['card' + c]._width + distance;//Parametros en x a -250 px
}
placeImages();
}
generateGameField(n_card, card_wdistance, card_hdistance);//Generar un juego de cartas con distancia ehorizontal como verticalmente
score=0;//Iniciar con record desde cero
this.createTextField('punti', -1,605, 370, 0, 0);
punti.autoSize=true;//La asignación de tamaño y alineación automáticas de los campos de texto, será aparecerá
var my_fmt:TextFormat = new TextFormat();//Se reconocerá la varieble del formato
my_fmt.color = 0xCC6633;//Color del formato de texto
my_fmt.bold = false;//El formato de la tipografia será de tipo Bold
my_fmt.font= Arial;//El formato de la tipografia será de tipo Arial
my_fmt.size= 42;//Tamaño de la tipografía
punti.text = 0;
punti.setTextFormat//(my_fmt);Aplica el formato de texto especificado por el parámetro textFormat a una parte del campo de texto
function checkCards() {
if (this[selcards[0]].img_id == this[selcards[1]].img_id) {
score++;
punti.text = score;
punti.setTextFormat(my_fmt);//Aplica el formato de texto especificado por el parámetro textFormat a una parte del campo de texto
eval(selcards[0])._visible = eval(selcards[1])._visible = false;
} else {
eval(selcards[0]).rotateCard(1, 1);//"eval"Accede a las variables, propiedades, objetos o clips de película por su nombre.
eval(selcards[1]).rotateCard(1, 1);//"eval"Accede a las variables, propiedades, objetos o clips de película por su nombre.
eval(selcards[0]).enabled = eval(selcards[1]).enabled = true;//"enable" nos ayudará a desactivar un boton activo
}
selcards = [];//Selaccionar carta aleatoria
MovieClip.prototype.enabled = true;
if (score==10){
this.createTextField('feli', -1, 200, 200, 0, 0);//Crea un nuevo campo de texto vacío como elemento secundario del clip de película que llama a este método
_root.gotoAndPlay(6);//Envíar la cabeza lectora al fotograma especificado en una escena que se reprodusca desde dicho fotograma
feli.autoSize=true;//La asignación de tamaño y alineación automáticas de los campos de texto, será aparecerá
var my_fmt:TextFormat = new TextFormat();//Se reconocerá la varieble del formato
my_fmt.color = 0xFFFF00;// Color del formato de texto
my_fmt.bold = false;//El formato de la tipografia será de tipo Bold
my_fmt.font= Times;//El formato de la tipografia será de tipo times
my_fmt.size= 60;//Tamaño de la tipografía
feli.text = "EXCELENTE";//Texto que aparecerá al concluir el juego
feli.setTextFormat(my_fmt);// "settextFormat" Especifiqua los cambios de formato de texto deseados
bgSound= new Sound(this);//Permite controlar el sonido de una película
bgSound.attachSound("clap");//Asocia el sonido especificado en el parámetro id al objeto Sound indicado desde la biblioteca
bgSound.start(0,1);//iniciar sonido desde el fotográma uno segundo cero
}
}
y este es el codigo del contador
function generateGameField(cards, distance, hdistance) {//Generar un juego de cartas con distancia ehorizontal como verticalmente
Ypos =-250;//Generar parametros en y a -250 px
Xpos =-250;//Generar parametros en x a -250 px
for (c = 0; c < cards; c++) {//Se establecerá una secuencia
createCard(c, card_w, card_h);//Crear una carta respetando los parametros de orden vertical y horizontal
if (c % row_card == 0 && c > 0) {
Ypos =-250;//Generar parametros en y a -250 px
Xpos =-250;//La instancia del clip de película carta se establecerá en los parametros x
}
this['card' + c]._x = Xpos;//La instancia del clip de película carta se mantendrá dentro de los parametros x
this['card' + c]._y = Ypos;//La instancia del clip de película carta se mantendrá dentro de los parametros y
Xpos = -250;//Parametros en x a -250 px
}
placeImages();//Respetar lugar de imagenes
}
generateGameField(n_card, card_wdistance, card_hdistance);//Generar un juego de cartas con distancia ehorizontal como verticalmente
empty = new Array();//Crea una nueva matriz de longitud
function createCard(n, w, h) {
empty.push(n);
this.createEmptyMovieClip('card' + n, n);//Crea un clip de película vacío como elemento secundario del clip de película carta
with (this['card' + n]) {
lineStyle(0, 0x000000,0);//Color de estilo de linea
beginFill(0x000000, 0);//Color de relleno de linea
moveTo(w / 2, 0);//Distancias entre cartas
lineTo(w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, 0);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
endFill();//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
createEmptyMovieClip('front', 1);//Crear en un clip de pelicula vacio
front.createEmptyMovieClip('container', 2);//Crea un clip de película vacío frente como elemento secundario del clip de película "container"
front.createEmptyMovieClip('backgr', 1);//Crea un clip de película vacío frente como elemento secundario del clip de película "backgr"
with (front.backgr) {
moveTo(-w / 2, -h / 2);//Distancias entre cartas
lineStyle(0, 0x000000, 0);//Color de estilo de linea
beginFill(0x000000, 0);//Color de relleno de linea
lineTo(w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
lineTo(-w / 2, -h / 2);//Dibuja una línea utilizando el estilo de línea actual desde la posición de dibujo actual hasta (x, y) con un grosor de 2 verticalmente
endFill();//Aplica un relleno a las líneas y curvas añadidas desde la última llamada a beginFill
}
front.onEnterFrame = function() {//Se invoca de manera repetida con la velocidad de fotogramas del archivo SWF
tot = this.container.getBytesTotal();//Devuelve el total de bytes descargados por LoadVars
car = this.container.getBytesLoaded();//Devuelve el número de bytes descargados por LoadVars.load() o
if (tot == car && tot > 200) {
this._parent._parent.centerImage(this._parent);//Especifica o devuelve una referencia al clip de película u objeto que contiene el clip de película u objeto actual
delete this.onEnterFrame;//Destruye la referencia de objeto especificada y se invoca de manera repetida con la velocidad de fotogramas del archivo
}
};
}
}[/code]
