【问题标题】:Write MXML Code in Actionscript3在 Actionscript3 中编写 MXML 代码
【发布时间】:2015-12-22 03:28:27
【问题描述】:

我有以下 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>

【问题讨论】:

    标签: image actionscript mxml


    【解决方案1】:

    这只是记忆,因此可能需要一些调整:

    基本上你会创建一个普通的

    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)

    在构造函数内部。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多