【发布时间】:2013-03-05 14:33:05
【问题描述】:
我的 Flash 项目中有 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 作为目标,而是某种具有某些文本属性的对象(例如“可选择”设置为 true),那么我可以让这个东西与静态文本字段一起工作,但我不能不知道如何做到这一点。无论如何,我需要以某种方式将静态文本字段检测为目标。任何帮助将不胜感激。
提前致谢
【问题讨论】:
-
最简单的方法:将所有文本文件封装在movieclip中(全部一个或一个)并使用它。您可以通过 DisplayObject 的 hitTest 函数检测碰撞
-
您可以使用TextSnapshot 类来处理静态文本字段,但它们是只读的,您不能设置文本。你仍然可以使用hitTestTextNearPos
标签: actionscript-3