Comunidad de diseño web y desarrollo en internet online

Crear un TextField en el escenario desde una función.

Citar            
MensajeEscrito el 30 Oct 2011 03:45 pm
Hola a todos, estoy tratando de entender el concepto de clases y funciones en AS3.
Lo que trato de hacer es imprimir una caja de texto en el escenario desde una clase. Entonces el código que utilizo es:

Código ActionScript :

      public function elementosEscenario():void
      {
         var cajaTxt:TextField = new TextField;
         cajaTxt.x = stage.width / 2; // No me reconoce la propiedad stage.
         cajaTxt.y = 50;
         cajaTxt.text == velocidad;
         addChild(cajaTxt); //Tampoco el metodo addChild()
      }

Aca mi duda, ¿Es posible hacerlo? Seguramente algo de lo que hago esta mal.

Pd: estoy trabajando desde un "ActionScript File" en Flash. Luego llamo a las funciones desde la línea de tiempo.

Por Bernabe_22

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2011 04:13 am
seria asi tu funcion:

Código ActionScript :

public function elementosEscenario():void 
{ 
         var cajaTxt:TextField = new TextField; 
         cajaTxt.x = stage.stageWidth / 2;   //<------corregido
         cajaTxt.y = 50; 
         cajaTxt.text = velocidad;    //<-----corregido
         addChild(cajaTxt);
} /**/


Si en verdad queres aprender a trabajar con clases abandona la idea de meter codigos en la linea de tiempo, eso es muy as2.

abz


eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 01 Nov 2011 05:36 pm
Hola exekiel ¡Muchas gracias por responder al tema! Te cuento que ya copie el código con tus correcciones pero me sigue dando los mismos errores al compilar.

\Scripts\scriptPicadas.as, Line 4 1120: Access of undefined property stage.

\Scripts\scriptPicadas.as, Line 7 1180: Call to a possibly undefined method addChild.

Por Bernabe_22

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 Nov 2011 06:48 pm
esa funcion esta en una clase q extiende a movieclip o sprite o displayobject????

eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 02 Nov 2011 03:17 am
¡Muchas gracias! Ese era el problema, debía extender la clase a MovieClip() ¿Podrias explicarme porque es esto así? :?

Por Bernabe_22

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Nov 2011 12:45 pm
Ya se soluciono tu problema???

Para que la instancia de una clase pueda ser agregada al escenario, la clase tiene que tener todas las propiedades y métodos necesarios para poder manipular sus instancias en el escenario. Esto se logra extendiendo la clase a por ejemplo MovieClip, Sprite, etc. De esta forma hereda todas las propiedades y métodos de la clase a la cual extiende.

abz

eXe

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 02 Nov 2011 12:48 pm
Un tip mas. Para poder acceder a las propiedades del stage, el objeto debe estar agregado en el escenario o se lo debe pasar a traves de un metodo publico.

Por exekiel21

Claber

164 de clabLevel



Genero:Masculino  

programador

firefox
Citar            
MensajeEscrito el 03 Nov 2011 02:48 am
¡Si ya se soluciono! ¡Te agradezco la ayuda, y aun más importante la explicación! Ahora si me quedo muy claro. ¡Saludos! ^^

Por Bernabe_22

18 de clabLevel



 

firefox

 

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