bueno hola a todos resulta que me surgió una pequeña duda sobre el manejo de las clases de un clip de película, cuando se desea agregar un clip de película desde la biblioteca al escenario se activa la vinculación a el clip y se le asigna una clase, ahora lo que se debe hacer es asignarle una variable a esa clase en el paquete para que este se pueda manipular o por lo menos eso es lo que hago yo no se si aya otro método.
Código :
package {
import flash.dysplay.*;
public class codigo {
public var clip1:Clip1=new Clip1(); // desde aqui
public var clip2:Clip2=new Clip2();
public var clip3:clip3= new Clip3();
public var clip4:Clip4=new Clip4();// hasta aqui es lo que se desea acortar
public function codigo () {
}
}
}
habrá una forma de poder acortar ese código, para manipular un objeto que se encuentre en la biblioteca desde un paquete sin asignarle una variable en el paquete.
Cuando le das nombre de vinculación, si no escribes una clase, Flash la crea por defecto. Luego para usarlo desde cualqueir lado (sea una clase o la línea de tiempo) haces
bueno gracias por responder pero me acavo de dar cuenta que no se explicar esa parte ya la tengo entendida, la duda mia esta en que para usted hacer ese addChild tiene primero que nombrar la clase del clip de le pelicula como una variable como indique arriba en el codigo, la pregunta es habra una forma de que eso de asignar como variable la clase para manipularla, y que se pueda manipular directamente sin asignarle una variable a esta, solo con el nobre que se le dio a la clase y listo nada mas
Toda instancia agregada al escenario debe tener un nombre de instancia y eso es lo que se usa par identificarla, el nombre de la clase solo se usa en un tipo especial de clases llamadas estáticas, que nunca son instanciadas, pero ese no es el caso
public var clip1:Clip1=new Clip1(); // desde aqui
public var clip2:Clip2=new Clip2();
public var clip3:clip3= new Clip3();
public var clip4:Clip4=new Clip4();// hasta aqui es lo que se desea acortar
En cuatro líneas no ahorras nada, pero para instanciar una clase a partir de un string haces algo así:
Código :
className = "myPackage.mySubPackage.MyClass2"; //use fully qualified name
var definition:Class = getDefinitionByName(className) as Class; // get class
var myInstance:Object = new definition(); // create new instance of the class of type MyClass
bueno la verdad no entiendo nada de lo que escribiste, y pues no son solo 4 lineas ya que e puesto ahsta 18 lineas con objetos distintos. a y gracias de nuevo por la respuesta
var instances:Array = new Array();
for(var i:Number =1; i<=100; i++){
var className:String= "Clip"+i
var definition:Class = getDefinitionByName(className) as Class;
instances.push(new definition())
}
No puedo declararlas como miembros de la clase, pero los puedo meter en un array de instancias que luego usaré de alguna forma