Comunidad de diseño web y desarrollo en internet online

Ayuda, necesito saber cómo corregir el código siguiente:

Citar            
MensajeEscrito el 03 Ene 2008 01:14 am
Hola, hice una animación parecida al Quiz que viene por defecto en flash, en una parte vienen varias figuras que deben ser colocadas en su pareja respectiva (circulo, cuadrado, estrella y un dibujo cualquiera); el código del botón para evaluar el puntaje,(1 punto por cada panel) es el siguiente:


Código :

on(release){
   nextFrame();
   /** Se haran 2 grandes grupos: "((x,y de cuadro) && (x,y de circulo))" y 
   "((x,y de estrella) && (x,y de dibujo))" 
        para verificar si realmente se colocaron en su lugar **/

   if(((this.cuadrado._x == this.cuadroPanel._x && this.cuadrado._y == this.cuadroPanel._y) && 
(this.circulo._x == this.circuloPanel._Y)) && ((this.estrella._x == this.estrellaPanel._x && 
this.estrella._y == this.estrellaPanel._y) &&
(this.dibujo._x == this.dibujoPanel._x && this.dibujo._y == this.dibujoPanel._y))){
      puntos += 1; //variable creada al comienzo de la animación
   }
   else{
      puntos += 0;
   }
}


1.- es así como se agrupan 4 elementos que van a ser evaluados y que deben ser verdaderos?
2.- aunque no los haya colocado de todas formas me da 1 punto... a que se debe?

gracias y si no me explique bien, una disculpa de antemano :crap:

Por user_alexis

14 de clabLevel



Genero:Masculino  

Tampico, México

firefox
Citar            
MensajeEscrito el 03 Ene 2008 02:26 am
Ummm, no es que sea un cabecilla pero... a lo que es la variable puntos, le das un valor inicial?

lo digo porque puntos +=1 ---------> puntos = puntos + 1

con lo cual si no tiene valor inicial, que supongo que el mejor que le vendria seria 0, pues puede que de error. No se si action script asigna 0 a las variables sin valor, pero me extraña,

Por mogoxd

40 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Ene 2008 02:35 am
mmm si, de hecho lo tengo...

tengo como valor inicial de la variable: puntos = 0, ya despues le iba dando valores como puntos += 1, si es que esta correcta la respuesta... antes de llegar a ese panel de la animacion, checaba uno por uno todas las posibilidades de algun error, y no marcaba ninguno, es decir, checaba si funcionaba cuando la respuesta era la correcta, cuando no, etc etc... hasta que llegue a dicho panel, en el que coloque correctamente los objetos en su lugar, incluso si no los muevo, me marca como si los hubiera colocado correctamente...

Es más, aquí dejo un link para que pueda ser descargado el *.fla:

http://www.savefile.com/files/1298380

Gracias de nuevo :D

Por user_alexis

14 de clabLevel



Genero:Masculino  

Tampico, México

firefox
Citar            
MensajeEscrito el 03 Ene 2008 02:48 am
Puede que el error este aki, mirandlo rapido?

this.circulo._x == this.circuloPanel._Y

por que no los pones como los otros?? osea que encaje la [x] y la [y]?

Buenas noxes

Por mogoxd

40 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Ene 2008 02:52 am
mmm sigue el error, seguire checando eso y si encuentro la solucion la publico, gracias =)

Por user_alexis

14 de clabLevel



Genero:Masculino  

Tampico, México

firefox
Citar            
MensajeEscrito el 03 Ene 2008 04:15 am
HAAAAAAAAAAAAAAAAAAAAAa, Me heeeeeeeee vuelto locooooo!!!

Joderrrr, despues de un buen rato desde las 2:48 a las 5, me parece que resolvi el enigma!!

Haber, creo que el problema esta en la segunda linea, despues del on (release), el NEXTFRAME(). Me da que como esta puesto al principio, pasa de frame y pierde toda la informacion de las posiciones. Prueba a ponerlo al final de toda toda la sentencia y ya esta!!! queda asi:

on(release){
/** Se haran 2 grandes grupos: "((x,y de cuadro) && (x,y de circulo))" y
"((x,y de estrella) && (x,y de dibujo))"
para verificar si realmente se colocaron en su lugar **/

if (((this.cuadrado._x == this.cuadroPanel._x && this.cuadrado._y == this.cuadroPanel._y) &&
(this.circulo._x == this.circuloPanel._Y)) && ((this.estrella._x == this.estrellaPanel._x &&
this.estrella._y == this.estrellaPanel._y) &&
(this.dibujo._x == this.dibujoPanel._x && this.dibujo._y == this.dibujoPanel._y))){
puntos += 1; //variable creada al comienzo de la animación
}
else{
puntos += 0;
}
nextFrame();
}

Por mogoxd

40 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Ene 2008 04:26 am
Mierda, que tarde que es. Se me fue la pinza, pues habian fallos de ortografia, espacios y optimizacion en tu codigo.

Aqui lo tienes, ya funciona perfecto:

on(release){
/** Se haran 2 grandes grupos: "((x,y de cuadro) && (x,y de circulo)) y
((x,y de estrella) && (x,y de dibujo)) para verificar si son verdaderos **/
if ((cuadrado._x == cuadroPanel._x) && (circulo._x == circuloPanel._x) && (estrella._x == estrellaPanel._x) && (dibujo._x == dibujoPanel._x)){
puntos += 1;
}
else{
puntos += 0;
}
nextFrame();
}

Por mogoxd

40 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 Ene 2008 05:55 am
waaaaaaaaaaaa!!!! jajajajaajajaja me río del coraje!!! era tan simple!!! y en cuanto a los espacios, asi lo habia puesto a proposito en el momento de postear, para darle un formato y que no se quedara todo el codigo a lo ancho de la pagina... En cuanto a ortografia no se a q te refieres jeje si podrías decirmelo por favor, y lo de optimizacion menos :S

Y, en efecto, el problema era en el "if" y en el "nextFrame();" u.u
Muchisimas gracias mgoxd!!! yo también me estaba quebrando el coco y sin poder llegar a la solución, con esta ayuda ya pude aprender muchas de las cosas que no debo de hacer y poner mas atención en el orden de las instrucciones que estoy escribiendo u.u Buenas noches aki en México (11:54 pm mierc 2 de enero).

Por user_alexis

14 de clabLevel



Genero:Masculino  

Tampico, México

firefox
Citar            
MensajeEscrito el 03 Ene 2008 04:57 pm
bueno, acabo de comer. Son las 6 de la tarde, xD. Ya ves, estabamos mas ciegos que un murcielago. Pues te voy a poner los minifallos:
- (this.circulo._x == this.circuloPanel._Y) -----> eso no encaja nunca.
- Un espacion entre if y el parentesis. Me parece que sin tambien funciona, pero mejor no apurar.
- this.circuloPanel._Y ----> Eso es una mayuscula? pos asi no lo coge
- Distribucion de los parentesis optimizada
- Eliminacion de todas las coincidencias y, aunque se podrian haber qitado las x. Si el objeto encaja con el otro, con poner solo una coordenada bastará.
- He quitado lo del this, pues funciona igual. Me parece que eso se utiliza para otro tipo de cosas. Por ejemplo cuando haces una funcion que se refiere a un objeto, dentro de esta con solo poner, por ejemplo, this._x bastaria. En todo caso habria que poner _parent.cuadrado, por estar el actionscript dentro del mc. Pero no me hagas muxo caso, que no se exactamente como tira.

Cordiales saludos. Un placer

Por mogoxd

40 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ene 2008 03:00 am
No pues ya está corregido, mil gracias, estamos en contacto, ahi por si me quieres agregar te dejo mi correo: [email protected], gracias de nuevo :D

Por user_alexis

14 de clabLevel



Genero:Masculino  

Tampico, México

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.