Comunidad de diseño web y desarrollo en internet online

iniciar una accion con un if al incrementar elvalor de 1 var

Citar            
MensajeEscrito el 08 May 2008 12:59 am
roberto
Member
tengo un proyecto de un juego educativo infantil en el cual se utiliza como principal accion el arrastrar y que al momento de colisionar dos mc el uno tome la posición del otro, en el primer fotograma de la pelicula coloco el sig codigo:
stop ();// detengo la apelicula


clip1inicioX = clip1._x;
clip1inicioY = clip1._y;
clip3inicioX = clip3._x;
clip3inicioY = clip3._y;
clip5inicioX = clip5._x;
clip5inicioY = clip5._y;
clip7inicioX = clip7._x;
clip7inicioY = clip7._y;
clip9inicioX = clip9._x;
clip9inicioY = clip9._y;
clip11inicioX = clip11._x;
clip11inicioY = clip11._y;
clip13inicioX = clip13._x;
clip13inicioY = clip13._y;
clip15inicioX = clip15._x;
clip15inicioY = clip15._y;
clip17inicioX = clip17._x;
clip17inicioY = clip17._y;
// aqui le doy un valor inicial a los mc
var fin:Number=1;
//aqui declaro una variable contador inicializandola en 1
if (fin==10){
gotoAndPlay(2);
}
// aqui le indico que cuando la variable tenga un valor de 10 desencadene el gotoAndPlay


ahora en los mc que se mueven, dentro coloque un boton al que le di la siguiente codigo:


on (press) {
startDrag(\"_root.clip1\");
}//al presionar este boton el mc se mueve con el mouse


on (release) {
stopDrag ();
// al liberar el boton se detiene


if (_root.clip1.hitTest(_root.clip2)) {
_root.clip1._x=_root.clip2._x;
_root.clip1._y=_root.clip2._y;
var my_sound:Sound = new Sound();
my_sound.loadSound(\"sound/bien hecho.mp3\",true);
fin++;
}
//primer linea si colisiona mc1 con mc2 se desencadena lo sig:
//segunda y tercer linea el mc1 toma la posición del mc2
//cuarta y quinta linea declaro variable para cargar un sonido desde una carpeta llamada sound
//sexta linea incremento el valor de la variable fin
else {
_root.clip1._x = _root.clip1inicioX;
_root.clip1._y = _root.clip1inicioY;
var my_sound:Sound = new Sound();
my_sound.loadSound(\"sound/intenta otra vez.mp3\", true);
//si no colisionan los mc el mc1 regresa a su posicion inicial
}
}


Esto lo pongo en 9 mc que se arrastran con el codigo igual y al probar la pelicula y según yo incrementar el valor de la variable hasta 10 no se desencadena la accion gotoAndPlay.


EN QUE ESTOY FALLANDO??
Ayuda please

Por roavalos

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 May 2008 01:46 am
El código se lee de abajo para arriba, entonces Flash lee:

if (fin==10){
gotoAndPlay(2);
}

Pero fin vale 1, entonces no hace el gotoAndPlay. Luego no vuelve a leer nunca más ese código, así que no se entera. Si por ejemplo creáramos una función y la llamáramos, nos aseguraríamos que se enterara:

function check(){
fin++
if (fin==10){
gotoAndPlay(2);
}
}

Luego en cada botón, en vez de poner fin++, ponemos:

_root.check()

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 08 May 2008 01:51 am
gracias jorge lo pondre en practica

Por roavalos

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 08 May 2008 02:19 am
Jorge tu solución funciono de maravilla

muchas gracias por tu ayuda desinteresada

roberto

Por roavalos

8 de clabLevel



 

msie7
Citar            
MensajeEscrito el 16 May 2008 07:37 pm
solisarg también me salvaste a mi !!!
Gracias :D

Por CarlosRuminott

1000 de clabLevel

6 tutoriales

 

Mdz, Arg

firefox

 

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