2011-04-27 97 views
0

我有當movieclip1拖動各國和打線則停止拖放功能,但它似乎停止整個拖拽功能即使它們沒有在函數中調用,但其他影片剪輯中的swf。有人可以幫我這個。hitTestObject,stopDrag停止兩個影片剪輯拖即使功能狀態一個影片剪輯停止拖動

問候 牛逼

下面是代碼:

function hitTest(event:Event):void 
{ 
if (movieclip1.hitTestObject(line)) 
    { 
movieclip1.stopDrag(); 
    } 
else 
    { 

    } 
} 
+0

這是有幫助的,你貼的代碼,但你可能要張貼更使我們不必做出關於你的代碼是怎麼寫的假設。例如,你可以發佈開始拖動的代碼嗎? – jhocking 2011-04-27 14:38:23

+0

嘗試用以下代替代碼在'則hitTest()'函數:'VAR displayObject的:的DisplayObject =的DisplayObject(e.currentTarget); if(displayObject.hitTestObject)displayObject.stopDrag();' – Taurayi 2011-04-27 18:14:30

+0

此外,您應該將'hitTest()'函數的名稱更改爲'onClick()'或'onMovieClipClick()'或'clickHandler()' AS3命名約定。 – Taurayi 2011-04-27 18:16:59

回答

0

你絕對肯定你只有movieclip1的一個例如在你的舞臺?絕對雙重檢查。你是動態創建它們,還是在SWF加載時預加載?

如果它們被預加載:
也許在測試過程中你做了一些快速拷貝,現在這些拷貝具有相同的名稱,並且它們都響應相同。這是我的第一個猜測。

如果他們動態加載:
檢查他們正在創建的功能。如果你在一個循環中命名它們(在上面的末尾有一個數字),請確保你正確地增加了最後使用的數字值。