LoginSignup
11
10

More than 5 years have passed since last update.

Starling Framework使う時のコピペ用ドキュメントクラス

Posted at
starlingTemplate.as
package 
{
    import starling.core.Starling;

    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.geom.Rectangle;

    /**
    * starling つかうときのコピペ用ドキュメントクラス
    */
    public class StarlingSample extends Sprite
    {
        private var _starling : Starling;
        public function StarlingSample()
        {
            if(stage) _initialize(null); 
            else  addEventListener(Event.ADDED_TO_STAGE, _initialize);

        }

        private function _initialize(event : Event) : void
        {
            removeEventListener(Event.ADDED_TO_STAGE, _initialize);
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;

            this.mouseEnabled = false;
            this.mouseChildren = false;
            this.loaderInfo.addEventListener(Event.COMPLETE, loaderInfo_completeHandler);
        }



        private function loaderInfo_completeHandler(event : Event) : void
        {
            Starling.handleLostContext = true;
            Starling.multitouchEnabled = false;

            _starling = new Starling(Main, stage);
            _starling.enableErrorChecking = true;
            _starling.start();

            this.stage.addEventListener(Event.RESIZE, stage_resizeHandler, false, int.MAX_VALUE, true);
            this.stage.addEventListener(Event.DEACTIVATE, stage_deactivateHandler, false, 0, true);
        }

        private function stage_resizeHandler(event : Event) : void
        {
            _starling.stage.stageWidth = stage.stageWidth;
            _starling.stage.stageHeight = stage.stageHeight;

            const viewPort : Rectangle = _starling.viewPort;
            viewPort.width = stage.stageWidth;
            viewPort.height = stage.stageHeight;
            try {
                _starling.viewPort = viewPort;
            }
            catch(error : Error) {
            }
        }

        private function stage_deactivateHandler(event : Event) : void
        {
           _starling.stop();
            stage.addEventListener(Event.ACTIVATE, stage_activateHandler, false, 0, true);
        }

        private function stage_activateHandler(event : Event) : void
        {
            stage.removeEventListener(Event.ACTIVATE, stage_activateHandler);
            _starling.start();
        }
    }
}
11
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
10