【发布时间】:2010-03-30 03:54:17
【问题描述】:
我正在尝试使用刚刚开始使用的 Flex Builder 3 构建 Flex AIR 应用程序。
在 Flash CS4 中,创作环境中有一个文本字段,您可以在其中指定将成为“基”类的类 - 您的类继承自 Sprite,然后在运行时“成为”舞台。有没有办法用 Flex/AIR 做同样的事情?如果做不到这一点,谁能解释如何创建和使用外部类?
最初我在 TestApp.mxml 中有这个:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script source="TestApp.as"/>
</mx:WindowedApplication>
这在 TestApp.as 中:
package {
public class TestApp {
public function TestApp() {
trace('Hello World');
}
}
}
这给出了错误“包不能嵌套”,所以我尝试取出包语句:
public class TestApp {
public function TestApp() {
trace('Hello World');
}
}
这给出了一个错误“类不能嵌套”,所以我最终放弃并尝试完全取出这个类,我想我会尝试从一堆函数开始:
function init() {
trace('Hello World');
}
但这会产生错误“在源路径中找到的文件必须具有外部可见的定义。如果文件中的定义是外部可见的,请将定义放入包中”。
我赢不了!当我把我的类放在一个包中时,它说我不能这样做,因为它会被嵌套。如果我不这样做,它会说它需要放在一个包装中以便可以看到。
有谁知道如何解决这个问题?如果我不能做自定义类作为基类的事情,有没有办法像这样:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script source="TestApp.as"/>
<mx:Script>
var app = new TestApp();
</mx:Script>
</mx:WindowedApplication>
目前我根本无法导入类定义,所以即使这样也行不通。
提前致谢!
【问题讨论】:
标签: apache-flex actionscript-3 actionscript adobe air