Para empezar avisar que soy nuevo en esto de programación con flash y su actionscript; pero poseo mucha experiencia con otros lenguajes orientados a objetos como Java, C# o C++.
El caso es que he estado intentando crear una clase que me maneje un MovieClip creado por mi de tipo ventana. Necesio esta clase ya que desearía que esta ventana estubiera animada en cada una de sus acciones. Para empezar tenemos creados varios MC para los botones, barra superior, cuerpo y la ventana en cuestion. El código que he implementado para la clase vendría a ser así:
Ventana.as:
Código :
class Ventana { private var _padre:MovieClip; private var miVentana:MovieClip; private var n:Number; private var h:Number; private var w:Number; private var ch:Number; private var cw:Number; function Ventana(x, y, w, h, titulo, padre, n) { this.n=n; this._padre=padre; this._padre.attachMovie("Ventana1","ventana"+n,n+1000); this.miVentana = this._padre["ventana"+n]; this.miVentana._x = x; this.miVentana._y = y; this.cw = this.miVentana.cuerpo._width; this.ch = this.miVentana.cuerpo._height; this.h = h; this.w = w; //estado inicial this.miVentana._height = 0; this.miVentana._width = 0; this.miVentana.createEmptyMovieClip("inicio",1); this.miVentana.inicio.onEnterFrame = function (){ this.Mueve(this.w, this.h); }; //[...] } function Mueve(w, h){ this.miVentana._height += (h - this.miVentana._height)/5; this.miVentana._width += (w - this.miVentana._width)/5; if (Math.round(this.miVentana._width) == Math.round(w) || Math.round(this.miVentana._height) == Math.round(h)) { delete this.miVentana.vida.onEnterFrame; this.miVentana.vida.removeMovieClip(); } } //[...] }
site.fla:
Código :
var n:Number; var v1:Ventana ; n=0; v1 = new Ventana(120, 120, 399, 431, "Hola!",this, n++);
Mi pregunta es, ¿No debería moverse con este código?. Porque parece ser que no lanza el MovieClip vacio que creo al principio para hacer este movimiento...
El caso es que para realizar esto, he mirado muchos ejemplos aunque ninguno basado en POO.
Agradecería muchísimo que me echarais una mano.
Un saludo!