我有一個我添加了MouseEvent.MOUSE_OUT監聽器的影片剪輯。
hitTestPoint沒有給出正確的結果
movieclip.addEventListener(MouseEvent.MOUSE_OUT, removeMovieClip);
現在邏輯是去除上MOUSE_OUT
影片剪輯和其重新添加到階段上的另一按鈕的MouseOver
。預期功能類似於顯示一些信息的滑塊
在這種情況下,MouseEvent.MOUSE_OUT
觸發不能如預期那樣正常工作。當我將鼠標從快速移動的移動夾快速啓動時,它會觸發。如果我非常緩慢地退出它不會觸發,因此動畫片段仍在舞臺上。
可能是什麼問題?
。
更新:我忘了提,我使用hitTestPoint以測試鼠標是影片剪輯之外。在大多數情況下,如果我慢慢移動鼠標,hitTestPoint
沒有給出正確的結果(錯誤),它位於Movieclip之外,因此我無法移除該對象。
更新2:讓我重新說明這個問題。我想我弄糟了這個解釋。
鼠標事件正常工作。
movieclip.addEventListener(MouseEvent.MOUSE_OUT
正確着火,我在事件處理方法。現在,當我試圖確定是否出現此影片剪輯時出現問題。
private function removeObj(eve:Event):void
{
var e:MouseEvent = MouseEvent(eve);
if (m_wishlistImage)
{
var InsideSlot:Boolean = eve.currentTarget.hitTestPoint(e.stageX, e.stageY);
if(!InsideSlot){
雖然緩慢移動鼠標移出對象InsideSlot
的仍然是正確的,因此代碼流不走的if
條件內,因此我無法取出異物。
在跟蹤e.stageX
時,我發現它經常顯示的座標不是鼠標移出時的座標(顯示槽內的一個點)。當我慢慢遷出時,這種行爲最常出現。
可能是什麼原因?
嘗試使用ROLL_OUT,它對我來說似乎更加健壯。 – alxx 2010-09-27 16:22:16