我在Flash Builder 4.5中使用AS3作为“Actionscript项目”编写了一个大型的Actionscript项目。我有一堆可靠,可重用的代码,但其中一个重要的组件是一个main.as文件,它扩展了Sprite并作为我的应用程序的显示代码。
由于各种原因,我现在需要成为Flex应用程序。我正在努力获得最小的包装,所以这就是我所拥有的(感谢互联网):
<?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" minWidth="590" minHeight="700"
initialize="initPlayer()">`
<fx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.core.UIComponent;
public function initPlayer():void {
Alert.show("Testing!");
var comp:UIComponent = new UIComponent();
comp.addChild(new MainView());
addChild(comp);
}
]]>
</fx:Script>
</s:Application>
然而,当我启动它时,它会出现一个空白窗口。没有错误,警报不会触发,什么都没有。知道发生了什么事吗?
答案 0 :(得分:0)
尝试使用applicationComplete
代替initialize
。初始化是在应用程序生命周期的早期触发的,而诸如执行addChild
之类的内容更适合以后的循环(applicationComplete
对应于子组件中的creationComplete
。
答案 1 :(得分:0)
我使用简单的精灵类“TestSprite”而不是“MainView”。有用。警告和TestSprite都可以正常工作。所以,我认为你的“MainView”必须有一些东西阻止flex展示它。
public class TestSprite extends Sprite
{
public function TestSprite()
{
super();
graphics.beginFill(0x000000);
graphics.drawRect(0, 0, 100, 100);
graphics.endFill();
}
}