Código ActionScript :
package { import flash.events.MouseEvent; import flash.events.Event; import flash.display.MovieClip; import flash.display.Stage; public class Bomba1 extends MovieClip { /*En esta parte empiezo a definir el comportamiento, la idea es que las "Bombas" aparezcan y caigan, es un juego el objetivo es no dejar que estas bombas lleguen al suelo (aunque no he definido lo que hacen cuando llegan) y al hacerseles click se desaparecen, sumando 10 puntos al jugador*/ public function bombaComportamiento() {//Esta variable y condicional se utilizan para definir una probabilidad basadas en un número de referencia para decidir si sale otra instancia de las Bombas en una posición Random en el eje X, a su vez el parámetro Y tiene un valor inicial de 0. var probabilidad:int = Math.random() * 5; if (probabilidad <= 3) { addChild(this); this.x = Math.random() * 400; this.y = 0; } this.addEventListener(MouseEvent.CLICK, desaparecer); //Evento que elimina la instancia con un Click. function desaparecer(adios:MouseEvent) { removeChild(this); } stage.addEventListener(Event.ENTER_FRAME, movimiento); //Este evento hace que las Bombas bajen 5 pixeles por cada fotograma transcurrido. function movimiento(abajo:Event):void { this.y += 5; } }//Bomba1 }//class }//Package
Ok ahora el archivo .fla es tiene el siguiente código:
Código ActionScript :
*/Se empiezan a declarar el nombre de instancia de la clase Bomba1() con el nombre de bomb que es un MC, a su vez se instancia otro MC, es un suelo que al llegar las Bombas a él estas desaparecen.*/ var bomb:MovieClip = new Bomba1(); var ciudad:MovieClip = new suelo ; addChild(ciudad); ciudad.y = 350; var puntuacion:int = 0; //Por último agrego una variable Timer y la inicio, luego llamo a la instancia de "bomb" dentro de un evento TimerEvent, la idea es que cuando pase un segundo en la aplicación se ejecuten las funciones dentro de la clase pero sólo se genera un hijo de Bomba1 sin hacer nada, sin caer ni desaparecer con el click, nada, también probé con bomb.bombaComportamiento() pero ni aparece la instancia en el stage si quiera. var timer:Timer = new Timer(1000,60); timer.start(); timer.addEventListener(TimerEvent.TIMER, tiempoJuego); function tiempoJuego(e:TimerEvent) { trace("asd") addChild(bomb); } //Evento que remueve la instancia de Bomba1 cuando esta hace contacto con el MC "ciudad". if (bomba.hitTestObject(ciudad)) { removeChild(bomba); }
Mi duda está en qué estoy haciendo mal para poder vincular la clase, sus parámetros y comportamientos al .fla, por cierto ya lo había hecho todo in-line y funciona a la perfección, miren lo que deseo lograr, pero esta vez utlizando clases porque cambiaré los gráficos, además serán distintos tipos de bombas con diferentes efectos (movimiento, etc) y escenarios, la verdad soy nuevo trabajando con AS3 (con programación en general) quisiera que me dijeran qué estoy haciendo mal, muchísimas gracias de ante mano

http://www.mediafire.com/?k9kq4m4p07qtsf <<< EJEMPLO DE RESULTADO FINAL DESEADO