문제

나는 Flash를 처음 접했다. 간단한 플래시 앱 (Adobe Flex Builder 3)에 대한 간단한 버튼을 표시하려고합니다.

기본 프로젝트 파일 인 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
        }
    }
}

그런 다음 logininterface.s 클래스 파일 :

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);



        }
    }
}

내가 그것을 실행하면 버튼이 표시되지 않습니다. 내가 뭘 잘못하고 있죠?

도움이 되었습니까?

해결책

ActionScript3 그래픽은 디스플레이 목록 개념을 기반으로합니다. 본질적으로 그래픽 요소를 표시하려면 디스플레이 목록에 추가해야합니다.

디스플레이 목록의 루트 노드 (실제로 트리입니다)는 메인 클래스 인 Client2입니다. 결과적으로 화면에 표시하려는 모든 것은이 요소의 자식으로 추가되어야합니다.

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

마찬가지로 LoginInterface 인스턴스에 버튼을 추가해야합니다.

addChild(myButton);  //inside of LoginInterface
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top