1. 程式人生 > >Flash player 11.2滑鼠右鍵、中鍵 事件範例

Flash player 11.2滑鼠右鍵、中鍵 事件範例

本文使用Flash Builder4.5建立ActionScript專案,使用SDK4.6,以及fp11.3(因為目前fp正式版已更新到了11.3,所以不再用fp11.2來測試)和11.3的playerglobal.swc。

SDK 4.6 下載地址:328MB,下載後解壓

http://www.adobe.com/devnet/flex/flex-sdk-download.html

flash player11.3 和11.3的playerglobal.swc下載地址:

(隨著fp的更新,上述下載頁面可能列舉更新後的fp,但如果api沒有過大變化,那麼本文也適用於後續fp版本)

一、工具準備

開發軟體:Flash Builder          播放器版本:flash player 11.3

系統環境:win 7               SDK版本:4.6

二、環境配置

1、FlashBuilder 的SDK列表新增SDK 4.6

可以在新建專案介面中點選“配置SDK”,也可以在已有專案中專案屬性介面配置。

下圖是在新建專案介面中配置:


開啟SDK配置介面,點選“新增”按鈕,彈出新增SDK介面如下,點選“瀏覽”選擇之前下載的SDK4.6所在的資料夾。我的是在E盤。


2、為SDK新增11.3的playerglobal.swc資料夾

找到SDK4.6的player資料夾,應該只有一個11.1資料夾,新建一個11.3資料夾,將之前下載的playerglobal11_3.swc改名為playerglobal.swc,並複製到這個資料夾下。



3、設定fp除錯版本

開啟Flash Builder的window/Preferences介面,在Flash Builder/除錯介面中的獨立Adobe Flash Player選擇之前下載的fp11.3 debug版本


同SDK選擇,要選擇之前下載的11.3的播放器,除錯的話一定選擇debug版本的


4、建立專案時的配置:


1)選擇SDK4.6

如上圖。

2)選擇特定版本flashplayer

如上圖,這裡設定的特定版本是我們之前下載的11.3版本

3)設定編譯引數

如上圖,附加的編譯器引數增加 –swf-version=15 


三、程式碼


codes:
 
//                   stage.doubleClickEnabled= true; //無用
                     stage.addEventListener("middleMouseUp", middleMouseUpHandler);
                     stage.addEventListener("middleMouseDown", middleMouseDownHandler);
                     stage.addEventListener("middleClick", middleMouseClickHandler);
//                   stage.addEventListener("rightMouseUp",rightMouseUpHandler);
//                   stage.addEventListener("rightMouseDown",rightMouseDownHandle);
//                   stage.addEventListener(MouseEvent.RIGHT_CLICK,rightClickHandler);
                     stage.addEventListener(MouseEvent.CLICK,mouseClickHandler);
                     
                     shape = newSprite;                   
                     shape.graphics.beginFill(0xff0000);
                     shape.graphics.drawCircle(0,0, 30);
                     shape.graphics.endFill();
                     shape.x = 100;
                     shape.y = 100;
                     this.addChild(shape);
//                   shape.addEventListener(MouseEvent.RIGHT_CLICK,rightClickHandler, true);
                     
                     menu = newContextMenu;
                     menu.hideBuiltInItems();              
                     varitem:ContextMenuItem = newContextMenuItem("haha");
                     item.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuSelected);
                     menu.customItems.push(item);
                     shape.contextMenu = menu;

四、其他事項

1、可以為某顯示物件新增右鍵選單,如程式碼中shape

2、為stage增加MouseEvent.RIGHT_CLICK 事件後,右鍵選單即不可見

3、為某顯示物件新增MouseEvent.RIGHT_CLICK事件後,此右鍵點選此物件時右鍵選單不可見

4、stage不新增MouseEvent.RIGHT_CLICK 事件,為某顯示物件新增MouseEvent.RIGHT_CLICK事件,此右鍵點選此物件時右鍵選單不可見,但點選其他位置仍顯示右鍵選單