Comunidad de diseño web y desarrollo en internet online

Problema con onEnterFrame

Citar            
MensajeEscrito el 24 Mar 2009 09:19 pm
Hola,

Antes de nada decir que soy novato en Flash y en ActionScript 2, por eso es posible que mi problema sea algo fácil de solucionar, pero llevo intentándolo varios días y no doy con la fórmula correcta.

La cosa es que ando haciendo un juego muy sencillo en el que, diferentes movieclips se van moviendo verticalmente por la pantalla, hasta llegar a un punto que es cuando se pierde el juego. Hasta ahí todo bien, consigo el movimiento mediante el "onEnterFrame", le doy distinta velocidad a partir de variables y utilizo los "if" para que cuando la posición de la "y" sea mayor o igual a un número salga la pantalla de game over. El problema está en que, para ganar el juego, hay que ir clicando sobre los objetos que van apareciendo por la pantalla para eliminarlos. Sé que lo que debo conseguir es que, el objeto deje de moverse para que no llegue al punto en el que la partida se termina, y a la vez ocultarlo con el "_visible=false" para que desaparezca de la pantalla, pero he intentado varias formas y no he conseguido nada que funcione correctamente.

Al principio intenté parar los movieclips con "delete onEnterFrame" pero me di cuenta que haciendo esto, lo único que hacía era parar todos los movieclips a la vez, y no uno a uno, así que, probé aplicando "velocidad = 0" al ejecutar el (onPress), pero me pasa exactamente lo mismo, no me para el objeto clicado si no, todos los que llevan esa misma variable. No sé si es porque debo asignar una variable llamada velocidad distinta a cada objeto o si es que hay algo mucho más sencillo que me estoy saltando...

Os pongo el último código que he utilizado por si no me explicado correctamente (Pongo tan sólo dos movieclips, para no hacer el tema más extenso).

Código :

var velocidad : Number = -10;
var puntos : Number = 0;

_root.onEnterFrame=function(){
   _root.p9._y+=velocidad;
   
      if(_root.p9._y<=10){
      _root.gotoAndStop(2);
   }

_root.p8._y+=velocidad;
   
      if(_root.p8._y<=10){
      _root.gotoAndStop(2);
   }
}

_root.p9.onPress=function(){
   velocidad = 0;
   _root.p9.gotoAndPlay(49);
   _root.flup.gotoAndPlay(2);
   puntos++;
}

_root.p8.onPress=function(){
   velocidad = 0;
   _root.p8.gotoAndPlay(49);
   _root.flup.gotoAndPlay(2);
   puntos++;
}
   





Espero haberme explicado bien y que podáis ayudarme...

Gracias de antemano!

Saludos!

Por mackenzie

1 de clabLevel



 

safari
Citar            
MensajeEscrito el 24 Mar 2009 09:58 pm
intenta haciendo un ciclo para agregar los mc's desde la biblioteca y darles movimiento asi puedes hacer referencia a esos mc de una manera mas sencilla y aparte optimizas tu codigo ;)

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 25 Mar 2009 04:59 pm
Ante todo, muchas gracias por contestar!

Sólo una pregunta... no sé exactamente lo que es un ciclo... te refieres a animar el movimiento de los objetos si ningún tipo de acción? Solamente con una animación?

Por mackenzie

1 de clabLevel



 

safari
Citar            
MensajeEscrito el 25 Mar 2009 06:52 pm
emm no... un ciclo en programación es una orden que le dice al codigo que se tiene que repetir un conjunto de acciones como un for o un while... lee sobre bases de programación

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 25 Mar 2009 07:37 pm
ok, ahora mismo me pongo a buscar y a leer sobre ello!
lo dicho, muchas gracias por tu ayuda! ;)

Por mackenzie

1 de clabLevel



 

safari

 

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