1

我使用 Flex Builder 3 创建了一个新的 actionscript 项目并尝试了

运行以下文件。我收到此错误:

定义: fl.controls:Button 找不到。我想做的就是向应用程序添加一个按钮。我怎么能做到?

package  {
        import PaperBase;
        import org.papervision3d.objects.primitives.Cone;
        import fl.controls.Button;
        import fl.controls.Label;
        import fl.events.ComponentEvent;

        public class cone1 extends PaperBase {
            public var cone:Cone = new Cone();
            protected var sceneWidth:Number;
            protected var sceneHeight:Number;
            public function cone1() {
                sceneWidth = stage.stageWidth
                sceneHeight = stage.stageHeight;
                init(sceneWidth*0.5,sceneHeight*0.5);//position of the cone
            }
            override protected function init3d():void {
                cone.scale = 5;
                cone.pitch(-40)
                default_scene.addChild(cone);
            }
            override protected function processFrame():void {
                cone.yaw(1);//rotation speed
            }
        }
    }
4

4 回答 4

3

fl.* 包是 Flash Professional 的一部分,而不是 Flex 的一部分。对于 Flex,您应该使用 mx.* 包中的组件。

现在,话虽如此,我相当肯定在 Flex 中使用 Flash 组件是可能的。我只是不确定它是如何从我的头顶上完成的。

此外,您不需要实际的按钮组件来获得“类似按钮”的 ui 元素 - 任何扩展 InteractiveObject 的类都可以。这包括 Sprite 和 MovieClip。

于 2009-06-21T03:52:45.100 回答
1

Branden 是正确的,fl 包是 Flash IDE 的一部分。我也不确定,但如果你知道包在文件系统上的位置,你可以将包添加到类路径中。我猜在某个地方在 C:/程序文件/adobe/flash

如果您想在 flex builder 中使用组件,我认为您需要创建一个 flex 项目而不是 actionscript 项目

并将您的导入更改为:

import mx.controls.Button;
import mx.controls.Label;
import mx.events.FlexEvent;

此外,如果您不需要使用组件,您也可以使用 Sprite 作为 Branden 所说的按钮,您可以只使用 TextField 作为标签。

如果你有flash IDE,另一个选择是制作一个SimpleButton,按F8选择按钮,点击回车。然后通过在库面板中右键单击它并选择链接名称来给它一个链接名称。然后导出 .swf 并将 swf 放入项目的 src 文件夹中,然后像这样嵌入:

[Embed(source="flashfile.swf")]
public var myButton:Class;

您甚至可以通过这种方式导出 Flash IDE 组件,但不确定……实际上,如果 [Embed] 元数据适用于 actionscript 项目或只是 flex 项目,我并不是 100% 肯定,所以您必须检查并查看.

于 2009-06-23T20:39:26.863 回答
1

这取决于您拥有的 IDE 版本,对于 CS4 和 Mac,位置将是 /Applications/Adobe Flash CS4/Common/First Run/Classes

将该文件夹或安装/操作系统的相关文件夹添加到 flashbuilder/eclipse 中的类路径,它将很好地解释类调用。

如果您正在编写纯动作脚本并且不想使用 flex 组件,或者在 IDE 方法中采用混合编码和设计,那么这是有道理的。

@philip 嵌入标签不能在纯动作脚本中使用

于 2010-03-12T17:42:13.850 回答
0

不知道为什么要这样做,但是如果您需要将 flash 库导入 flex,请尝试将您想要的内容拖到 flash 中的舞台并导出为 .swc 文件以导入到您的 flex 项目中。

于 2009-06-23T20:58:14.563 回答