En ActionScript 2 al trabajar con clases no podemos asignarle al Stage o _root una clase principal, si no que tenemos que hacer algo de este tipo:
Código :
import com.cristalab.Application; var app:Application = new Application(this);
Luego en nuestra clase nos guardamos la referencia de this y la pasamos todo el rato.
Código :
class com.cristalab.Application extends MovieClip { private var scope:MovieClip; public function Application(_scope:MovieClip) { scope = _scope; scope.miBoton._x = 100; } }
Sin embargo, de esta forma perdemos todas las referencias de las clases a objetos que haya en scope, con lo que no podremos observar sus métodos cuando trabajemos con FDT o FlashDevelop.
Para evitar esto, podemos poner lo siguiente en el fotograma 1 de nuestra aplicación:
Código :
import com.cristalab.Application; this.__proto__ = Application['prototype']; var app = Application; app.apply ( this, [] );
De esta forma podemos tener objetos en _root que tengan asociadas referencias de clases y poder inspeccionar sus métodos internos.
Código :
class com.cristalab.Application extends MovieClip { private var miBoton:BotonPersonalizado; public function Application() { miBoton._x = 100; } }
Mucho más fácil y parecido a como se hace ahora en ActionScript 3.
Un saludo!!
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por Zah el 11 de Diciembre de 2008
Por Otaku RzO el 11 de Diciembre de 2008
Por Zguillez el 12 de Diciembre de 2008
Por eldervaz el 12 de Diciembre de 2008
Por The Fricky! el 12 de Diciembre de 2008
Por Bleend el 12 de Diciembre de 2008
Por Elecash el 12 de Diciembre de 2008
Por fredybg el 13 de Diciembre de 2008