我的Flash项目中有StaticText字段,当鼠标悬停在它们上方时,我需要运行一些代码。所以我试过这个代码如何检测AS3中的StaticText?
stage.addEventListener(MouseEvent.MOUSE_OVER, mouseRollOver);
function mouseRollOver(event:MouseEvent):void {
var tf:StaticText = event.target as StaticText;
if (tf){
//my code
}
}
但它不起作用。当我使用动态文本字段并在var tf中用TextField替换StaticText时,它工作正常。我还认为,如果我可以让鼠标检测到不是StaticText作为目标,但是某种具有某些文本属性的对象(如“selectable”设置为true),我可以使用静态文本字段来处理这个事情,但是我不能'弄清楚如何做到这一点。无论如何,我需要以某种方式检测静态文本字段作为目标。任何帮助,将不胜感激。
在此先感谢
最简单的方法:将所有textfirlds封装在movieclip中(全部在一个或一个),并使用它。您可以使用DisplayObject的hitTest函数检测碰撞 – Smolniy 2013-03-05 14:40:21
您可以使用[TextSnapshot](http://help.adobe.com/zh_CN/FlashPlatform/reference/actionscript/3/flash/text/TextSnapshot.html)类来处理静态文本字段,但它们只是只读的,不能设置文本。你仍然可以使用[hitTestTextNearPos](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextSnapshot.html#hitTestTextNearPos()) – 2013-03-05 14:54:48