Comunidad de diseño web y desarrollo en internet online

problema con addChild

Citar            
MensajeEscrito el 12 Nov 2008 04:39 am
Hola, agradecería si me ayudan con este problema:

Tengo un paquete donde importe las clases de unos logos los cuales se llaman logo0, logo1, etc. En la función animar quiero colocarlos en el stage:

Código :

private function animar(evento:Event):void
      {
         var nombre:String="logo";
         for (var i:int=0; i<5; i++)
            {
               nombre="logo"+i;
               addChild(nombre);
            }
      }


Pero obtengo este error: 1067: Implicit coercion of a value of type String to an unrelated type flash.display:DisplayObject.

Gracias

Por adobexpert

Claber

2018 de clabLevel

4 tutoriales
15 articulos

Genero:Masculino  

Bogotá - Colombia

firefox
Citar            
MensajeEscrito el 12 Nov 2008 08:32 am
En AS.3, primero creamos un objeto de la clase y luego añadimos a la displayList el objeto. Vamos

Código ActionScript :

var logo0:Logo0=new Logo0()  //<--si tu clase es Logo0
addChild(logo0)

el problema es cómo creamos un objeto de la clase "Logo"+i
Para ello debemos usar getDefinitionByName

Código ActionScript :

var ClassReference:Class = getDefinitionByName("Logo"+i.toString()) as Class;
var instance:Object = new ClassReference();
addChild(instance)

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2008 11:41 am
Hola,

La verdad es que el objeto ya está creado, este es el codigo completo con el cual obtengo el error:

Código :

package
{
   import flash.display.MovieClip;
   import flash.events.*;
   import Photoshop;
   import Illustrator;
   import Indesign;
   import Flash;
   import Dream;
   
   public class Curso extends MovieClip
   {
      var logo0:Photoshop = new Photoshop;
      var logo1:Illustrator = new Illustrator;
      var logo2:Indesign = new Indesign;
      var logo3:Flash = new Flash;
      var logo4:Dream = new Dream;

      
      public function Curso()
      {
         addEventListener(Event.ENTER_FRAME, animar);
      }
      
      private function animar(evento:Event):void
      {
         var nombre:String="logo";
         for (var i:int=0; i<5; i++)
            {
               nombre="logo"+i;
               addChild(nombre);
            }
      }
   }
}


Gracias

Por adobexpert

Claber

2018 de clabLevel

4 tutoriales
15 articulos

Genero:Masculino  

Bogotá - Colombia

firefox
Citar            
MensajeEscrito el 12 Nov 2008 02:37 pm
supongo que será

Código ActionScript :

addChild(this["logo"+i.toString()]) 



de otro modo estarías tratando de hacer un addchild de un STRING

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2008 08:12 pm
Muchas gracias por tu ayuda funciona de la manera que me indicaste. Si entendí bien el problema es que antes de "unir" las dos variables, ambas deben ser un string?

Por adobexpert

Claber

2018 de clabLevel

4 tutoriales
15 articulos

Genero:Masculino  

Bogotá - Colombia

firefox

 

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