Flash鼠標(biāo)事件怎么實(shí)現(xiàn)
Flash鼠標(biāo)事件怎么實(shí)現(xiàn)
愛(ài)學(xué)習(xí)的小伙伴們,可能都學(xué)習(xí)過(guò)Flash,不知道的話跟著學(xué)習(xí)啦小編一起來(lái)學(xué)習(xí)了解Flash鼠標(biāo)事件吧。
Flash鼠標(biāo)事件的實(shí)現(xiàn)方法
press表示左鍵按下的事件,
release表示左鍵釋放的事件,
releaseOutside表示在按鈕外部釋放左鍵的事件等等
例如,要使按鈕對(duì)單擊事件做出響應(yīng),可以在按鈕的動(dòng)作面板中添加如下代碼:
on (release) { trace("單擊了一下"); } 這樣,在測(cè)試狀態(tài)下單擊該按鈕時(shí),F(xiàn)lash就會(huì)將信息“單擊了一下”發(fā)送到輸出窗口。對(duì)于影片剪輯,也可以為其添加on事件處理函數(shù),使其以按鈕的機(jī)制響應(yīng)鼠標(biāo)左鍵。
此外,也可以用影片剪輯特有的onClipEvent事件處理函數(shù)對(duì)鼠標(biāo)左鍵做出響應(yīng)。
例如,mouseDown表示左鍵按下的事件,
mouseUp表示左鍵抬起的事件。與按鈕的press和release事件不同的是,mouseDown和mouseUp事件不要求光標(biāo)位于影片剪輯范圍內(nèi)。因此,如果要判斷鼠標(biāo)具體單擊的哪個(gè)影片剪輯,還需要對(duì)鼠標(biāo)位置進(jìn)行檢測(cè)。例如,下面的代碼使得影片剪輯響應(yīng)左鍵按下事件并在輸出窗口中顯示光標(biāo)的位置:onClipEvent (mouseDown) { trace("X坐標(biāo):"+_root._xmouse); trace("Y坐標(biāo):"+_root._ymouse); } 這里,_root._xmouse和_root._ymouse分別表示光標(biāo)相對(duì)于主場(chǎng)景的X坐標(biāo)和Y坐標(biāo),如果省略_root,則得到光標(biāo)相對(duì)于影片剪輯自身的坐標(biāo)。
2.右鍵 鼠標(biāo)的右鍵和中鍵是Flash MX 2004新開(kāi)放的功能。對(duì)鼠標(biāo)右鍵的響應(yīng)主要體現(xiàn)在允許用戶自定義右鍵的快捷菜單。
ContextMenu類表示快捷菜單,ContextMenuItem類表示快捷菜單中的菜單項(xiàng)。
如下所示的代碼創(chuàng)建ContextMenu類的一個(gè)對(duì)象my_cm: var my_cm = new ContextMenu(); ContextMenu類的customItems屬性是一個(gè)數(shù)組,該數(shù)組包含了快捷菜單中的所有菜單項(xiàng)。要將菜單項(xiàng)添加到菜單中,需要使用數(shù)組的push方法,如下所示: my_cm.customItems.push(new ContextMenuItem("旋轉(zhuǎn)", func_rotate)); 這樣,就將“旋轉(zhuǎn)”菜單項(xiàng)添加到了快捷菜單中,func_rotate是一個(gè)函數(shù)名,它決定了選擇“旋轉(zhuǎn)”菜單時(shí)所要執(zhí)行的命令。
下面定義該函數(shù): function func_rotate(obj:Object, menu:ContextMenu) { obj.onEnterFrame = function() { this._rotation += 15; }; } 這里的參數(shù)obj是系統(tǒng)自動(dòng)捕獲并傳遞的,它就是對(duì)鼠標(biāo)右鍵做出響應(yīng)并顯示快捷菜單的對(duì)象。上面的函數(shù)使得選擇“旋轉(zhuǎn)”快捷菜單時(shí)對(duì)象以15°/幀的速度進(jìn)行旋轉(zhuǎn)。 點(diǎn)擊瀏覽該文件 3.中鍵在Windows環(huán)境中,鼠標(biāo)中鍵常常用來(lái)滾屏——在使用Word的時(shí)候,瀏覽網(wǎng)頁(yè)的時(shí)候,甚至在一個(gè)下拉列表框中做出選擇的時(shí)候——現(xiàn)在,也包括觀看Flash的時(shí)候。當(dāng)然,這同樣也得歸功于Flash MX 2004。表示鼠標(biāo)的Mouse對(duì)象中并未定義中鍵滾動(dòng)事件,F(xiàn)lash MX 2004提供onMouseWheel偵聽(tīng)器來(lái)檢測(cè)中鍵滾動(dòng)。因此,要使得能夠?qū)κ髽?biāo)中鍵的滾動(dòng)做出響應(yīng),就必須向Mouse對(duì)象注冊(cè)onMouseWheel偵聽(tīng)器。
代碼如下: mouseListener = new Object(); mouseListener.onMouseWheel = function(delta) { clip_mc._x += n * delta; } Mouse.addListener(mouseListener); 其中,delta表示鼠標(biāo)中鍵的每個(gè)滾動(dòng)刻度使屏幕滾動(dòng)的行數(shù),它的值由系統(tǒng)決定,常在1~3之間。上面的代碼使得在鼠標(biāo)中鍵滾動(dòng)時(shí),實(shí)例clip_mc一次向左或向右移n*delta像素,移動(dòng)的方向是由中鍵滾動(dòng)的方向決定的。
Flash鼠標(biāo)事件怎么實(shí)現(xiàn)相關(guān)文章:
4.怎么用JS實(shí)現(xiàn)鼠標(biāo)單擊與雙擊事件共存