Comunidad de diseño web y desarrollo en internet online

duda en clases

Citar            
MensajeEscrito el 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 ActionScript :

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

Por tuxianof

48 de clabLevel



 

chrome
Citar            
MensajeEscrito el 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

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 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

Por tuxianof

48 de clabLevel



 

chrome
Citar            
MensajeEscrito el 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

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Feb 2010 10:26 pm
ahora la pregunta es como acorto este codigo

Código ActionScript :

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 
         

Por tuxianof

48 de clabLevel



 

chrome
Citar            
MensajeEscrito el 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 ActionScript :

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

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 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

Por tuxianof

48 de clabLevel



 

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

Código ActionScript :

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

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

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

Por tuxianof

48 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.