在Actionscript3中编写MXML代码

时间:2015-09-24 13:36:41

标签: image actionscript mxml

我有以下MXML代码,但我需要从Actionscript运行它。我怎么能在AS写这个?非常感谢!!

<?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>

1 个答案:

答案 0 :(得分: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 {

创建和添加UI元素:

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)

在构造函数中。

ifcreateChildren()确保只创建一次ui元素。每次添加此组件时,将调用createChildren()。 (在Application中不是那么重要,但是使用ActionScript类创建组件的好习惯。