2009-06-23 8 views
0

Je suis très nouveau au flash. J'essaie d'afficher un simple bouton pour mon application Flash simple (avec adobe flex builder 3).Pourquoi mon ASB SimpleButton ne s'affiche-t-il pas?

Le principal fichier de projet, Client2.as:

package 
{ 
    import flash.display.Sprite; 

    [SWF(width="600", height="600", frameRate="31", backgroundColor="#00FFFF")] //set project properties 

    public class Client2 extends Sprite 
    { 
     public function Client2() { 
      trace("Client launched."); 
      var loginGui:LoginInterface = new LoginInterface(); //load the login interface object 
      loginGui.init(); //initialize the login interface 
     } 
    } 
} 

Ensuite, le fichier de classe LoginInterface.as:

package 
{ 
    import flash.display.Sprite; 
    import flash.display.SimpleButton; 

    public class LoginInterface extends Sprite 
    { 
     public function LoginInterface() 
     { 
      trace("LoginInterface object loaded."); 
     } 

     public function init():void 
     { 
      trace("LoginInterface init method was called."); 

      var myButton:SimpleButton = new SimpleButton(); 

      //create the look of the states 
      var down:Sprite = new Sprite(); 
      down.graphics.lineStyle(1, 0x000000); 
      down.graphics.beginFill(0xFFCC00); 
      down.graphics.drawRect(10, 10, 100, 30); 

      var up:Sprite = new Sprite(); 
      up.graphics.lineStyle(1, 0x000000); 
      up.graphics.beginFill(0x0099FF); 
      up.graphics.drawRect(10, 10, 100, 30); 

      var over:Sprite = new Sprite(); 
      over.graphics.lineStyle(1, 0x000000); 
      over.graphics.beginFill(0x9966FF); 
      over.graphics.drawRect(10, 10, 100, 30); 

      // assign the sprites 
      myButton.upState = up; 
      myButton.overState = over; 
      myButton.downState = down; 
      myButton.hitTestState = up; 

      addChild(myButton); 



     } 
    } 
} 

Lorsque je le lance sur le bouton ne montre pas. Qu'est-ce que je fais mal?

Répondre

1

Les graphiques ActionScript3 sont basés sur le concept de liste d'affichage. Des éléments essentiellement graphiques doivent être ajoutés à la liste d'affichage pour être visibles.

Le noeud racine de la liste d'affichage (il s'agit en fait d'un arbre) est votre classe principale, Client2. Par conséquent, tout ce que vous voulez afficher sur l'écran doit être ajouté comme un enfant de cet élément comme ceci:

addChild(loginGui); //inside of your main class 

De même, vos boutons devraient être ajoutés à votre instance de LoginInterface

addChild(myButton); //inside of LoginInterface