Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Starling] Не идет отрисовка (http://www.flasher.ru/forum/showthread.php?t=202721)

CaribbeanLegend 05.08.2013 06:04

Не идет отрисовка
 
Всем добрый.

Проблема следующая: создаю игру под мобильные устройства на Flex. Возникла необходимость использовать фреймворк Starling.
Соотв., создаю объект Starling:
Program.as: (часть файла)
Код AS3:

public function Program() 
{
        Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
 
        addEventListener(Event.ADDED_TO_STAGE, onAddedToStage);
}
 
private function onAddedToStage(_evnt:Event):void
{
        this.stage.scaleMode = StageScaleMode.NO_SCALE;
        this.stage.align = StageAlign.TOP_LEFT;
 
        StarlingRef = new Starling(TestStarling, stage);
        StarlingRef.start();
}

TestStarling.as:
Код AS3:

package program
{
        import starling.display.Sprite;
        import starling.display.Image;
        import starling.textures.Texture;
        import starling.text.TextField;
        import starling.core.Starling;
 
        public class TestStarling extends Sprite
        {
                public function TestStarling()
                {
                        var texture:Texture = Texture.fromBitmap(Assets.getBitmap("Player"));
                        var img:Image = new Image(texture);
                        img.x = 150;
                        img.y = 150;
                        addChild(img);
 
                        var textField:TextField = new TextField(400, 300, "Welcome to Starling!");
                        addChild(textField);
 
                        trace("Created!");
                }
        }
}

Сам объект создается, но ничего не выводит. В лог идет следующее:
Код AS3:

[Starling] Initialization complete.
[Starling] Display Driver: DirectX9 (Baseline Constrained)
Created!

Встраиваю в Main.mxml вот таким образом:
Код AS3:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:pr="program.*" creationComplete="initApplication();">
        <fx:Script>
                <![CDATA[
                        import program.GameEvent;
                        import program.Constants;
 
                        private function initApplication():void
                        {
                                myProgram.addEventListener(Constants.EVENT_SCORE_CHANGED, onScoreChanged, false, 0, true);
                                myProgram.addEventListener(Constants.EVENT_GAME_OVER, onGameOver, false, 0, true);
                        }
 
                        private function onScoreChanged(_evnt:GameEvent):void
                        {
                                pointsTextFld.text = "Очков: " + _evnt.params["score"];
                                gameOverPointsText.text = "Ваш счет: " + _evnt.params["score"];
                        }
 
                        private function onGameOver(_evnt:GameEvent):void
                        {
                                gameOverText.visible = true;
                        }
 
                        private function onRestartBtnClick():void
                        {
                                gameOverText.visible = false;
 
                                Program.restart();
                        }
                ]]>
        </fx:Script>
 
        <pr:Program id="myProgram"></pr:Program>
        <s:Label id="pointsTextFld" x="10" y="10" text="Очков: 0"/>
        <s:BorderContainer id="gameOverText" visible="false" alpha="0.8" width="100%" height="100%" >
                <s:Label text="Game over!" horizontalCenter="0" verticalCenter="-20"/>
                <s:Label id="gameOverPointsText" text="Ваш счет: 0" horizontalCenter="0" verticalCenter="0"/>
                <s:Button id="restartBtn" label="Начать заного" horizontalCenter="0" verticalCenter="40" click="onRestartBtnClick();" />
        </s:BorderContainer>
</s:Application>

В чем может быть проблема?

Добавлено через 5 часов 15 минут
Проблема решена. Нужно было к <s:Application> добавить backgroundAlpha="0".

Astraport 07.08.2013 16:39

А зачем был нужен Флекс?


Часовой пояс GMT +4, время: 04:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.