这两天工作中遇到一个问题,就是网页中内嵌的flash小游戏的用户体验,当鼠标在flash上点击右键时,出现的右键菜单中会有播放,停止等选项,虽然不会造成什么漏洞,但是体验非常差。在寻找解决方案的时候, 找到一个靠谱的思路,就是自己实例化一个菜单,然后用它去替换系统默认的菜单。根绝这个思路,最终解决了问题。
需要注意的是,在解决问题过程中,因为as2.0和3.0版本的差异, 在最终覆盖系统默认菜单的时候需要改变语法。代码如下:
AS2.0代码:
var contextMenu:contextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
this.menu=contextMenu;
AS3.0代码:
var contextMenu:contextMenu = new ContextMenu();
contextMenu.hideBuiltInItems();
this.contextMenu=contextMenu;
因为3.0语法升级,所以要把menu改为contextMenu,否则会有报错,生成的swf也还会显示菜单。