2013-10-29 86 views
0

我有一個hitTest設置來查看mc1是否擊中mc2。當mc1觸摸mc2時,我需要mc1循環播放。 mc1在觸摸mc2之後哎呀,但不在觸摸mc2時觸摸。當它觸摸mc2時,它會進入第2幀並停止。這是爲什麼發生?AS2 HitTest問題

+0

你能告訴我們一些代碼嗎?爲了幫助你,我們需要更多地瞭解你來自哪裏。 – Enigmadan

回答

0

我在你的代碼中聞到的問題是,你必須使用onEnterFrame方法來檢查mc1是否觸摸mc2。當則hitTest返回true,您必須使用:

mc1.gotoAndPlay(2); 

這裏的問題是,到時候兩個MC都擊中對方的onEnterFrame方法迫使MC1去從幀打不出2 24倍(取決於您正在使用的幀速率)每秒。只是因爲轉換太快,它似乎卡在第2幀。

我的建議是有一個變量來記錄這些MC的擊中。然後請求mc1去玩。以下是您可以參考的示例代碼。

mc1.stop(); 
mc1.onPress = function() { 
    startDrag(mc1); 
}; 
mc1.onRelease = function() { 
    stopDrag(); 
}; 
var touched = 0; 
onEnterFrame = function() { 
if (mc1.hitTest(mc2)) { 
    trace("you hit the circle"); 
    mc1.play(); 
} else { 
    touched = 0; 
} 
if (touched == 1) { 
    mc1.play(); 
}else { 
    mc1.stop(); 
} 
}; 

希望這會有所幫助。

+0

這很有幫助謝謝 – user2928560