Comunidad de diseño web y desarrollo en internet online

Comunicación entre clase principal y las otras

Citar            
MensajeEscrito el 22 Ago 2009 03:32 pm
Hola!, pues parece que tras las vacaciones he perdido algo de práctica con AS3, pues no tengo claro como hacer esto, creo que es muy simple, por lo que os pido vuestra ayuda:

Tengo una aplicación que consta de un único archivo fla: programa.fla, cuyo Document Class se llama clases.Principal (ovbiamente el archivo Principal.as está en la carpeta clases ).
El problema es que en Principal.as tengo ya varias miles de lineas de código, y quiero dividir los metodos en otros archivos .as dependiendo de su función. Por ejemplo he creado el archivo clases.Comunicaciones , en el cual pretendo meter todos los métodos relacionados con las comunicaciones de red con el servidor.

En clases.Principal , básicamente tengo esto:

Código ActionScript :

package clases
{
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    import flash.text.*;
    import flash.ui.*;
    import flash.utils.*;
    import clases.Comunicaciones;

    public class Principal extends MovieClip
    {  
     var comunicacion:Comunicaciones;
      ....
     comunicacion = new Comunicaciones();
     ....
    //conectar al socket:
   xmlsock = new XMLSocket();
   xmlsock.addEventListener(Event.CONNECT, comunicacion.conectar);

   //crear txt de mensajes
   var txtmsg:TextField = new TextField();            
   txtmsg.name = "txtmsg";
   txtmsg.appendText("Conectando con el servidor...");
   addChild(txtmsg);
....


y en clases.Comunicaciones tengo esto:

Código ActionScript :

package clases{
   
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
    import flash.text.*;
    import flash.ui.*;
    import flash.utils.*;
   import flash.system.Security;
   import flash.utils.ByteArray;
   import flash.media.*;
   import clases.Principal;
   

   public class Comunicaciones {
      
      public function conectar(param1:Boolean) : void
        { 
         ///modificar texto "conectado ok"
         var txtemp:TextField = TextField(getChildByName("txtmsg"));
         txtemp.text="Conexión con el servidor correcta";
       ....


Mi cuestión es simple: ¿Como accedo desde la función Comunicaciones.conectar() a los elementos que ya he creado previamente en la Document Class: Principal.as, por ejemplo a un campo de texto, o a un MC declarado en Principal.as ?


GRACIAS!

Por rau1sfx

26 de clabLevel



 

aqui

firefox
Citar            
MensajeEscrito el 22 Ago 2009 07:01 pm
Únicamnte pasale referencia de la clase principal al resto.

Código ActionScript :

comunicacion = new Comunicaciones(this);

y en las clases:

Código ActionScript :

TextField(_main.getChildByName("txtmsg"));

"_main" seria la variable donde guardas la rteferencia..

Por Zguillez

BOFH

10744 de clabLevel

85 tutoriales
17 articulos
3 ejemplos

Genero:Masculino   Bastard Operators From Hell Héroes Team Cristalab Editores

BCN

firefox

 

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