【发布时间】:2013-07-17 17:08:13
【问题描述】:
我的目标是编写在 Flash 或 AIR 中运行的教育软件。 (可能主要是移动设备上的 AIR。)我设想舞台将有一个区域,其中包含像 Flex 提供的控件一样,但另一个区域包含将在纯 ActionScript 中完成的动画和图形。有人告诉我,如果我使用 Flex,我将需要在我创建的任何新组件中继承 UIComponent,但也有人告诉我,我可以在屏幕上放置一个大的 UIComponent 并向其中添加基于 Sprite 的对象。所以我试图对后者进行编码,但我被困住了。我创建了一个带有按钮和 UIComponent 的 MXML 文件。然后我想在一个单独的 .AS 文件中编写一个类,该文件在其构造函数中使用 UIComponent 并处理添加对象。我不知道如何在 MXML 文件的脚本代码中引用 UIComponent。这是我所拥有的:
<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">
<fx:Script>
<![CDATA[
import exper AddSprites;
private var e:AddSprites;
public function addStuff():void {
???? next line is question ???
e = new AddSprites(..UIComponent?..);
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<s:Button click="addStuff()" />
<mx:UIComponent id="uic"/>
</s:Application>
【问题讨论】:
-
您的意思是我不一定需要使用 Flex 来获得单选按钮、列表、复选框等基本控件? fl.controls 中的控件是否与 Flex 一样易于使用?
-
所以我使用的是 mxmlc,这是 Flex 提供的编译器。使用 import fl.controls.*,我得到了 fl.controls 找不到的错误。还有什么我需要安装的吗?
-
@composerMike 您至少需要包含适当的 swc 文件,其中包含 fl.controls.* 类的定义,尽管我不确定您可以从哪里获取它(可能在某处Flash IDE 安装文件夹)。问题在于该 swc 中的控件并非设计为与 Flex 组件生命周期一起使用。相反,您应该在这里采用您最初的方法,即创建一个新的 UIComponent,我将在这里挖掘一些文章。
-
好的,有两件事要检查,去我的网站shaunhusain.com 并点击代码,列表中的每一项都可以点击,然后会打开一个带有示例的窗口,然后您可以右键单击以查看源代码。我所做的大部分工作都是 Flex 3,以获取有关此处 help.adobe.com/en_US/flex/using/… 的 4 的信息,但由于所有 Spark 组件都是 UIComponent 的子类(来自 Flex 3),因此它仍然基本相同。您可以使用 AS3 绘制到 updateDisplayList 中的图形,并使用计时器使显示列表无效以进行更新。
标签: actionscript-3 flex4