`

AS3速成-从Flash的内容中移除右键菜单

 
阅读更多

转: http://bbs.9ria.com/thread-136727-1-1.html

 

AS3速成-从Flash的内容中移除右键菜单

 

Flash Player 11.2的其中一个很棒的新特性就是可以拦截用户的鼠标右键。只要将一个MouseEvent 侦听添加到Stage或者是其他扩展flash.display.InteractiveObject 的对象上就可以了。这个效果不仅从Flash中完全移除右键菜单,还能让我们选择是否添加动作到右键响应上的。


需要Flash Player 11.2或以上的播放器!

要做出以上效果,需要将MouseEvent类导入到项目中:

  1. import flash.events.MouseEvent;
复制代码

下面我们要添加侦听到舞台上,让背景菜单在进程中无效:

  1. stage.addEventListener(MouseEvent.RIGHT_CLICK, doNothing);
复制代码

在这个例子中,我们还为MovieClip符号注册了侦听,右键点击了之后就会启动一个控制动画的附加方法:

  1. angryFace.addEventListener(MouseEvent.RIGHT_CLICK, destroyFace);
复制代码

就这样!Flash就是Flash,为Flash开发者漂亮的解决了一个一直存在的问题

以下就是完整的源码:

 

    package  {
        import flash.display.Sprite;
        import flash.display.MovieClip;
        import flash.events.MouseEvent;
        import flash.display.MovieClip;
         
        public class KillContextMenu extends Sprite {
             
            public var angryFace:MovieClip;
             
            public function KillContextMenu() {
                stage.addEventListener(MouseEvent.RIGHT_CLICK, doNothing);
                angryFace.addEventListener(MouseEvent.RIGHT_CLICK, destroyFace);
            }
             
            private function doNothing(e:MouseEvent):void {
                //do nothing...
                trace(e.type);
            }
             
            private function destroyFace(e:MouseEvent):void {
                //send to oblivion
                e.currentTarget.gotoAndPlay("Destruction");
            }
             
        }
    }

 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics