Para hacer un tánsito más tranquilo a AS3 me dispuse a realizar todos mis proyectos utilizando clases (que poco había utilizado antes)en AS2. Me di a la tarea entonces de crear una clase que realizara una acción que ya tenía desarrollada antes: Cargar a través de un MovieClipLoader una imagen en un MovieClip específico y rescalar ese MovieClip dependiendo del tamaño del escenario.
Lo que intenté inicialmente fue crear una clase llamada "Fondo" que extendiera a MoviClip y que realizara el comportamiento de cargar una foto y reescalarse. En resumen, este fue mi paupérrimo intento:
Código ActionScript :
dynamic class Fondo extends MovieClip { var myListener:Object; function Fondo() { myListener=new Object(); Stage.addListener(this.myListener); this.myListener.onResize = this.rez(); carga("1.jpg"); } private function rez():Void { trace("funcionaaa") this._x = (Stage.width - this._width) / 2; this._y = (Stage.height - this._height) / 2; } public function carga(ruta2:String) { this.loadMovie(ruta2) this._x=0 this._y=0 } }
Aunque logro cargar la foto ("1.jpg"), no logro ubicarla en donde deseo (porque no queda en el inicio de coordenadas como sería lógico) ni mucho menos utilizar la función rez() que es la que supuestamente debería reescalarla dependiendo del tamaño del escenario.
Creo que se debe a un mal uso del lenguaje o a que no tuve en cuenta la metodología adecuada para crear clases, por lo que si alguno de ustedes me pueden ayudar con un ejemplo claro de cómo se debe extender una clase me haría un gran favor.
Saludos