Показать сообщение отдельно
Старый 26.06.2015, 15:23
alexandrratush вне форума Посмотреть профиль Отправить личное сообщение для alexandrratush Найти все сообщения от alexandrratush
  № 3  
Ответить с цитированием
alexandrratush
 
Аватар для alexandrratush

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Код AS3:
private function init(e:flash.events.Event = null):void
        {
            if (e != null) removeEventListener(flash.events.Event.ADDED_TO_STAGE, init);
            stage.scaleMode = StageScaleMode.NO_SCALE;
            stage.align = StageAlign.TOP_LEFT;
            stage.addEventListener(flash.events.Event.RESIZE, onResizeHandler);
        }
 
        private function onResizeHandler(e:flash.events.Event):void
        {
            if (stage.stageWidth == stage.fullScreenWidth && stage.stageHeight == stage.fullScreenHeight)
            {
                _logger.log("Main: onResizeHandler complete");
                stage.removeEventListener(flash.events.Event.RESIZE, onResizeHandler);
                initStarlingAndContext();
            }
        }
 
        private function initStarlingAndContext():void
        {
            var iOS:Boolean = SystemUtil.platform == "IOS";
            var stageArea:Rectangle = new Rectangle(0, 0, StarlingRoot.STAGE_WIDTH, StarlingRoot.STAGE_HEIGHT);
            var fullScreenArea:Rectangle = new Rectangle(0, 0, stage.fullScreenWidth, stage.fullScreenHeight);
            var viewPort:Rectangle = RectangleUtil.fit(stageArea, fullScreenArea, ScaleMode.SHOW_ALL);
 
            _scaleFactor = calculateScaleFactor(viewPort.width);
            Starling.multitouchEnabled = true;
            Starling.handleLostContext = true;
            RenderTexture.optimizePersistentBuffers = iOS;
 
            _starling = new Starling(StarlingRoot, stage, viewPort, null);
            _assetManager = new AssetManager(_scaleFactor);
            _context = new ApplicationContext(this, _starling, _assetManager, _logger);
            _starling.antiAliasing = 1;
            _starling.stage.stageWidth = StarlingRoot.STAGE_WIDTH;
            _starling.stage.stageHeight = StarlingRoot.STAGE_HEIGHT;
            _starling.enableErrorChecking = Capabilities.isDebugger;
            _starling.showStats = true;
            _starling.addEventListener(starling.events.Event.ROOT_CREATED, starlingRootCreatedHandler);
            _starling.addEventListener(starling.events.Event.CONTEXT3D_CREATE, starlingContext3dCreateHandler);
            _starling.addEventListener(starling.events.Event.FATAL_ERROR, starlingFatalErrorHandler);
            _starling.simulateMultitouch = true;
            _starling.start();
        }
 
        private function starlingRootCreatedHandler(e:starling.events.Event):void
        {
            _logger.log("Main: Starling root created");
            _rootCreated = true;
            initApplication();
        }
 
        private function starlingContext3dCreateHandler(e:starling.events.Event):void
        {
            _logger.log("Main: Starling Context3d created");
            _contextCreated = true;
            initApplication();
        }
 
        private function initApplication():void
        {
            if (_rootCreated && _contextCreated)
            {
                if (!_initApplication)
                {
                    _initApplication = true;
                    _logger.log("Main: init application, scaleFactor: " + _scaleFactor);
                    var root:StarlingRoot = _starling.root as StarlingRoot;
                    root.initApplication(_scaleFactor);
                } else
                {
                    _logger.error("Main: init application already");
                }
            }
        }
 
        private function starlingFatalErrorHandler(e:starling.events.Event):void
        {
            _logger.fatal("Starling Fatal Error: " + JSON.stringify(e.data));
        }
Лог два раза выводит Main: Starling Context3d created. Возникает при публикации приложения, когда телефон заблокирован. После снятия с блока, в некоторых случаях вылетает этот баг. И вся сцена как будто сдвигается в сторону. Устройство Android, запускаю с IDEA.