我的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