Flash AS3 - 如何将导入的文本字段movieclip设置为不可选

时间:2009-04-25 19:38:55

标签: flash actionscript-3 graphics textfield swc

我在Flash CS4中创建了一个包含文本的图形。我嵌入了相应的字符,然后将其作为MovieClip保存到我的库中。然后我将其导出到SWC文件。

在我的AS3代码中(使用Flex SDK / notepad),然后导入movieclip并为其分配一些鼠标事件,以便将其用作按钮。

不幸的是,我以这种方式导入的所有图形文本都有“I”鼠标光标,文本是可选的。这会从我的flash应用程序中窃取焦点并且不好!

我知道当我有文字字段时我可以:

var myButton:TextField = new TextField();
myButton.MouseEnabled = false;

但是当我正在导入的Movieclip时,这没有任何效果:

var myButton:MovieClip = new MyImportedButtonGraphic();
myButton.MouseEnabled = false;  // No effect

// Plus some other things I learned:
myButton.selectable = false;    // also no effect
myButton.MouseChildren = false; // No effect

我做错了什么?

2 个答案:

答案 0 :(得分:3)

在flash ide中,选择textField,转到属性面板,然后取消选中其中包含字符“Ab”的按钮。这会阻止您的文字可选。

答案 1 :(得分:1)

如果要设置保存文本的影片剪辑不能启用鼠标,则需要为其设置两个属性,mouseEnabled和mouseChildren。 mouseEnabled表示该特定影片剪辑无法获取鼠标事件,但不会影响影片剪辑的子项(例如其中的文本字段)。 mouseChildren意味着它的子节点不会注册鼠标事件,它们只是从父节点发送。要完全禁用它,两者都必须是假的。


var myButton:MovieClip = new MyImportedButtonGraphic();
myButton.mouseEnabled = false;
myButton.mouseChildren = false;

由于textfield是影片剪辑的子代,因此mouseChildren属性会对其产生影响,你可以将其设置为false,它仍然有效。