Código :
class Luchador { //Identifica al Jugador 1 o al 2 var NroJugador:Number; var Fuerza:Number; var Vida:Number; var VidaTotal:Number; var Velocidad:Number; private var Bloqueando:Boolean; var Cuerpo:MovieClip; //Funcion constructora function Luchador() { //Velocidad aleatoria (cambiar, debe depender de c/personaje) this.Velocidad = 20; trace("Un nuevo luchador ha nacido"); } //Funcion que inicia al jugador, lo pone en el escenario listo para pelear!!! function IniciarJugador(Aux_Numero:Number) { this.NroJugador = Aux_Numero; trace(Aux_Numero); this.Cuerpo = _root.cuerpo_modelo.duplicateMovieClip("CuerpoJ"+Aux_Numero, 30+Aux_Numero); //Pone el cuerpo en el escenario y lo pone en vista this.Cuerpo._y = 600; this.Cuerpo._alpha = 100; this.Cuerpo._yscale = 50; //Diferencia de posicion entre Jugador 1 y 2 if (this.NroJugador == 1) { this.Cuerpo._xscale = 50; this.Cuerpo._x = 10; } else if (NroJugador == 2) { this.Cuerpo._xscale = -50; this.Cuerpo._x = 790; } //---- problema ----------------------------------------------------------- this.Cuerpo.onEnterFrame = this.Movimientos(); //---- problema ------------------------------------------------------------ trace("El jugador "+this.NroJugador+" ha sido iniciado."); } //Funcion que hace que los jugadores se muevan function Movimientos() { //Le da el código al cuerpo de moverse y de las funciones de las teclas if (this.NroJugador == 2) { //Movimientos para el jugador 1 if (Key.isDown(Key.BACKSPACE)) { this.Cuerpo._x -= this.Velocidad; trace("nos movemosss"); } //Llega hasta acá,pero lo hace una sola vez... ? } //Hasta acá llega... el problema está en el if trace("¿moviendose? Posicion: "+this.Cuerpo._x); } }
No está completo, pero el tema es que el programa hace todo bien (copia los cuerpos en pantalla, etc. ), pero NO me toma el onEnterFrame como tal, sino que lo ejecuta una sola vez... ¿?
El trace("¿moviendose? Posicion: "+this.Cuerpo._x); lo marca en la Pantalla de Salida una sola vez para cada jugador. Por alguna razón, pienso que el código lo ejecuta una sola vez. Extraño.
Por las dudas este es el código que va en el _root:
Código :
//Importa la clase luchador import Luchador; //Crea los dos jugadores var Jugador1:Luchador = new Luchador(); var Jugador2:Luchador = new Luchador(); Jugador1.IniciarJugador(1); Jugador2.IniciarJugador(2); stop();
Y el MC cuerpo es uno que está invisible en el medio del _root, con la instancia de "cuerpo_modelo".
Desde ya les agradecería que me ayudaran, si bien el problema es complejo. Por las dudas les dejé todo el código, pero con lo que tengo problemas es con el onEnterFrame de la variable Cuerpo de el objeto, o sino con la función Movimientos.
[SWAT] Cuando postees código, usa las etiquetas [code] [/SWAT]