Domanda

Sono molto nuovo per il flash. Sto cercando di mostrare un semplice pulsante per la mia semplice app flash (con Adobe Flex Builder 3).

Il file di progetto principale, 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
        }
    }
}

Quindi il file di 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);



        }
    }
}

Quando lo eseguo il pulsante non viene visualizzato. Cosa sto sbagliando?

È stato utile?

Soluzione

La grafica di ActionScript3 si basa sul concetto di elenco di visualizzazione. Per poter essere visti, gli elementi essenzialmente grafici devono essere aggiunti all'elenco di visualizzazione.

Il nodo principale dell'elenco di visualizzazione (in realtà è un albero) è la tua classe principale, Client2. Di conseguenza tutto ciò che si desidera visualizzare sullo schermo deve essere aggiunto come figlio di questo elemento in questo modo:

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

Allo stesso modo, i tuoi pulsanti dovrebbero essere aggiunti alla tua istanza di LoginInterface

addChild(myButton);  //inside of LoginInterface
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top