本文使用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下载地址:
http://www.adobe.com/support/flashplayer/downloads.html
(随着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事件,此右键点击此对象时右键菜单不可见,但点击其他位置仍显示右键菜单