¿Quieres registrarte?

duda en clases

Citar            
MensajePublicado: 12 Feb 2010 08:34 pm
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.

gracias por la ayuda. :D

tuxianof


clabLevel: 46



  chrome
MP    
Citar            
MensajePublicado: 12 Feb 2010 08:40 pm
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

addChild(new Clip1())

donde Clip1 es el nombre de clase que le diste

Jorge

solisarg
BOFH

Bastard Operators From Hell
clabLevel: 7308
Argentina

1 Tutorial
2 Tips

  firefox
MP     Web
Citar            
MensajePublicado: 12 Feb 2010 08:52 pm
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

tuxianof


clabLevel: 46



  chrome
MP    
Citar            
MensajePublicado: 13 Feb 2010 11:13 am
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

Jorge

solisarg
BOFH

Bastard Operators From Hell
clabLevel: 7308
Argentina

1 Tutorial
2 Tips

  firefox
MP     Web
Citar            
MensajePublicado: 13 Feb 2010 10:26 pm
ahora la pregunta es como acorto este codigo

Código :

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 
         

tuxianof


clabLevel: 46



  chrome
MP    
Citar            
MensajePublicado: 15 Feb 2010 02:08 pm
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


Jorge

solisarg
BOFH

Bastard Operators From Hell
clabLevel: 7308
Argentina

1 Tutorial
2 Tips

  firefox
MP     Web
Citar            
MensajePublicado: 15 Feb 2010 02:45 pm
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

tuxianof


clabLevel: 46



  chrome
MP    
Citar            
MensajePublicado: 15 Feb 2010 02:54 pm
Suponiendo que tuvieras 100 sería:

Código :

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

Jorge

solisarg
BOFH

Bastard Operators From Hell
clabLevel: 7308
Argentina

1 Tutorial
2 Tips

  firefox
MP     Web
Citar            
MensajePublicado: 15 Feb 2010 04:21 pm
bueno es eso lo que necesitaba, gracias ahora si logre lo que queria

tuxianof


clabLevel: 46



  chrome
MP    

   Página 1 de 1

Responder al tema
Respuesta Rapida


 

 

Cristalab BabyBlue + BloodBerry © 2007 Cristalab
Powered by phpBB © 2001, 2007 phpBB Group

3 6 7 8 10 11 12 14 15 17 18 28 34 38 40 44 45 46 47 48 49