我有以下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>
答案 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)
在构造函数中。
if
内createChildren()
确保只创建一次ui元素。每次添加此组件时,将调用createChildren()
。 (在Application中不是那么重要,但是使用ActionScript类创建组件的好习惯。