在AS3中按完整包名获取类

时间:2013-05-11 00:42:08

标签: actionscript-3 flash air

我有一个带有以下节点的xml:

<states package="my.package.states" start="preloader">
<item name="preloader" class="Preloader"/>
<item name="intro" class="Intro"/>
<item name="menu" class="Menu"/>
<item name="level_picker" class="LevelPicker"/>
<item name="credits" class="Credits"/></states>

现在我需要使用状态节点上的包属性以及每个项目的class属性来获取类的类引用...这是我尝试的(以及其他内容):

var c:Class = getDefinitionByName('my.package.states.Preloader') as Class;

没有成功......有没有办法得到我想要的结果?

1 个答案:

答案 0 :(得分:0)

  1. 如果您想使用getDefinitionByName,则需要导入Class。

  2. 你想在那里做什么,是行不通的。 MXML只是一种标记语言,由编译器“转换”为AS3。你想要做的就像进入汽车,一旦你启动了发动机,你就会期望汽车变成摩托车,飞机和冰箱。这可能适用于“变形金刚”,但不适用于程序。

  3. 你可以做什么:在我们的“item”组件中,你可以创建这些类/组件的实例并将它们添加到“item”。