AS3:TextField似乎有一个不可见的背景填充?

时间:2012-07-15 03:33:25

标签: actionscript-3 sprite textfield

让我们开始吧。

我创建了一个Sprite'father',在它的子节点上添加另一个Sprite'child',并使用'child'Sparite的graphics属性绘制一个填充的矩形。然后,我将另一个TextField实例添加为“父”Sprite的子项,并将其文本设置为“Payphone”,使文本显示在填充的矩形上。

最后我添加一个事件监听器,监听MouseEvent.MOUSE_OVER,跟踪“HIT!”,当我在填充矩形的边缘移动鼠标时,它会跟踪“HIT!”;但是当我将鼠标移动到填充矩形的中心时,它不会跟踪任何内容。并且提到我的鼠标位于TextField的边界框中,TextField是否具有不可见的背景填充?是否可以删除?怎么样?

谢谢! :)

1 个答案:

答案 0 :(得分:2)

不幸的是,TextField的点击区域始终是其边界框,即使您将其background属性设置为false也是如此。但是,您仍然可以禁止TextField拦截您的父对象的鼠标事件,将其mouseEnabled属性设置为false。您还可以通过将父级mouseChildren属性设置为false来使父对象接收其所有子级事件。

但是,这两种解决方案都会禁用文本字段中的所有鼠标事件,因此如果出于某种原因需要这样做,则必须寻找更复杂的解决方案。