2015-09-24 3 views
0

У меня есть следующий код MXML, но мне нужно запустить его из Actionscript. Как я могу написать это в AS? Большое спасибо!!Напишите код MXML в Actionscript3

<?xml version="1.0"?> 

<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/halo" 
     applicationComplete="applicationCompleteHandler()"> 

    <fx:Script> 
    <![CDATA[ 

     private var bannerIntegration : BannerAd; 

     public function applicationCompleteHandler():void 
     { 
     Security.allowDomain("*"); 

     bannerIntegration = new BannerAd(banner); 
     } 
    ]]> 

    </fx:Script> 
     <s:Image id="banner" width="300" height="250"/> 
</s:Application> 

ответ

0

Это только из памяти, так что, возможно, потребуется некоторые настройки:

В основном вы бы создать нормальный

class SpecialApplication extends Application {

В вашей IDE или mxmlc позвонить вам выбрать SpecialApplication как класс строить. Внутри класса у вас есть свойства, как у вас есть их теперь:

private var bannerIntegration : BannerAd; 
private var banner:Image; 

все остальное просто ответить на ваш пример, но я уверен, что это не полное приложение, поэтому вы должны прочесть что-то о Flex Жизненный цикл (будьте осторожны, что вы смотрите на право один: один для Flex 3. * немного отличается от того, в Flex 4 *) Так в идеале

override protected function createChildren():void {

создавать и добавлять элементы пользовательского интерфейса :

if (image == null) { 
    image = new Image(); 
    image.width = 300; 
    image.hight = 250; 
    addChild(image); 
    bannerIntegration = new BannerAd(banner); 
} 

Я не уверен, что Security.allowDomain("*"); требует особых сроков, возможно, вы также можете сделать это внутри createChildren(). В противном случае вы можете использовать тот же метод, что и у вас в вашем блоке сценария выше (с дополнительным аргументом event:FlexEvent), чтобы выполнить этот вызов. Просто сделайте

addEventListener(FlexEvent.CREATION_COMPLETE, applicationCompleteHandler)

внутри конструктора.

if внутри createChildren(), чтобы убедиться, что только один раз создайте элементы ui. Поскольку createChildren() будет вызываться каждый раз, когда этот компонент будет добавлен. (Не так важно внутри приложения, но хорошая привычка создавать компоненты с использованием классов ActionScript.

Смежные вопросы