我正在使用Flash Professional CS6。它允许添加Flex SDK的SWC文件。我要做的是将mx.controls.Button添加到stage。代码运行良好,但按钮不会出现在舞台上。我在这段代码中做错了什么:
//f9 to open action editor
//in scene 1:
import mx.controls.Button;
var b:Button = new Button();
b.label = "My button";
b.width = 100;
b.height = 30;
b.visible = true;
stage.addChild(b);
答案 0 :(得分:1)
[mx.controls]
package包含在Flex / FlashBuilder中使用的控件。 fl.controls
package包含用于Flash IDE的类似但不一定相同的控件。如果您只想使用按钮,则应该执行@Moorthy所说的操作并从组件库中拖动按钮,然后引用fl.controls.Button
。
如果您必须在Flash中使用Flex组件,则可以这样做:
- 将Flex swf装入闪光灯
- 等到加载的Flex组件到达第2帧(所有Flex swf确实有2帧)
- 在加载的对象的应用程序属性上添加eventlistener(对于flex中定义的事件)。这个属性实际上是一个 SystemManager类的属性。记住SystemManager类 在Flash中不存在。这是一个灵活的东西。
醇>
值得一提的是,这对于高级Flex组件是有意义的,您不希望重新编写许多复杂的行为,但很难想象为什么需要mx.controls.Buttton
而不是{{1}或者你自己的fl.controls.Button
,因为这种行为非常普遍和直截了当。