為了要做出比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都可以這樣使用