onMouseDown和onPress的差异_AS 2008-07-05 23:37
為了要做出比Button物件更複雜的互動,我們通常會改用MovieClip來製作按鈕。如此一來,就需要處理event handler。與滑鼠有關的MovieClip event handler包括onMouseDown、onMouseUp、onPress、onRelease、onReleaseOutSide、onRollOver、onRollOut、onDragOver、onDragOut、onMouseMove。 感覺上onMouseDown和onPress很像,按下左鍵都可以觸發這兩個事件。這兩個event handler的差異在於,要觸發onPress事件,游標的位置必須在MovieClip上,而onMouseDown不需要。所以說,任何一個MovieClip的onMouseDown事件,只要在畫面上任何地方按下左鍵都會被觸發。與游標位置無關的有onMouseDown、onMouseUp、onMouseMove,只要MovieClip存在於畫面上,就可以觸發。
值得注意的兩點: 1. 如果有兩個重疊的MovieClip,在上面按左鍵的話,只有在上層的MovieClip的onPress會被觸發,下方的不會。而兩個MovieClip的onMouseDown則是都會被觸發。 2. 如果有兩個MovieClip-mcA和mcB,mcB包含mcA,兩個MovieClip都有onPress事件的話,mcA的onPress是完全無法被觸發的。
結論: 1. onMouseDown能不用就不用,避免造成不必要的混亂。 2. mc.onPress = function ()就能讓movieClip擁有Button的Behavior。onPress、onRollover、onRollout、onRelease都可以這樣使用
摘自:http://www.lis186.com/?p=1040&cpage=1