我是一個長期使用ActionScript 2的用戶,現在開始使用ActionScript 3.我缺少的一件事是複製AS2的MovieClip.onReleaseOutside功能的簡單方法。實現這個事件幾乎總是有必要的,否則你會得到一些有趣的錯誤,比如閃光燈認爲你的鼠標真的彈起來了。在AS3中最簡單的onReleaseOutside實現?
根據AS2 to AS3 Migration Guide,我應該使用flash.display.InteractiveObject.setCapture()
這個,但它不存在,據我所知。我猜這個文件已經過時或不正確。我發現如何複製此功能在網絡上的幾個職位,但他們要麼有自己的問題:
必須有一個更簡單的方法,不要告訴我Adobe重寫Actionscript時忘了這個嗎?
示例AS2代碼:
// Assume myMC is a simple square or something on the stage
myMC.onPress = function() {
this._rotation = 45;
}
myMC.onRelease = myMC.onReleaseOutside = function() {
this._rotation = 0;
}
沒有onReleaseOutside在處理程序,如果你在squre壓下去,拖你的鼠標在它之外,並釋放鼠標,那麼方不會取消旋轉,並似乎卡住了。
我從AS2移到了Flex 3,所以沒有遇到這個問題。所以雖然我不能提供答案,但請注意這個問題。乾杯。 – 2008-10-31 22:46:38
如果您在舞臺的空白區域釋放,這將會很好。如果你在舞臺上釋放一個未知的精靈,該怎麼辦?或者如果有多個按鈕需要檢查releaseOutside? – 2012-01-12 21:47:57