阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

多媒体交互应用基础(2)

Posted on 2012-02-17 19:58  阳光VIP  阅读(98)  评论(0编辑  收藏  举报

问题一:当鼠标按下的时候,让一个物体进行拖动。

步骤:使用上一节的文件,这次要修改的是鼠标一个事件MouseEvent.MOUSE_DOWN。监听的对象是一mc(MovieClip类型)

  1.  package 
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.events.*;
  5.     import flash.display.SimpleButton;
  6.     public class Example extends MovieClip
  7.     {
  8.         public function Example()
  9.         {
  10.           Btn.addEventListener(MouseEvent.CLICK,onClick);
  11.           mc.addEventListener(MouseEvent.MOUSE_DOWN,onKeyDown2);
  12.         }
  13.         
  14.         private function onClick(e:MouseEvent):void
  15.         {
  16.             mc.scaleX=0.5;
  17.             mc.scaleY=0.5;
  18.         }
  19.         
  20.         private function onKeyDown2(e:MouseEvent):void
  21.         { 
  22.            var obj:MovieClip=e.target as MovieClip;
  23.            obj.startDrag();
  24.             
  25.         }
  26.         
  27.         
  28.         
  29.     }
  30. }

可以发现,这里改动很少,只是改动了 增加

mc.addEventListener(MouseEvent.MOUSE_DOWN,onKeyDown2);

 

  1. private function onKeyDown2(e:MouseEvent):void
  2.         { 
  3.            var obj:MovieClip=e.target as MovieClip;
  4.            obj.startDrag();
  5.             
  6.         }

我们调用了一个拖动的函数。   obj.startDrag();

这个函数是当我们按下鼠标的时候,物体被我们拖动了

说明一下,mc这个对象是在文档里面属性定义的。

问题二:当鼠标松开的时候,让一个物体停止拖动。

步骤:

 继续上面的文件,我们继续添加一个监听事件,这次添加的松开鼠标的状态

stage.addEventListener(MouseEvent.MOUSE_UP,onKeyup);

 

增加这个后,当鼠标松开的时候,物体就会停止拖动了。

  1. package 
  2. {
  3.     import flash.display.MovieClip;
  4.     import flash.events.*;
  5.     import flash.display.SimpleButton;
  6.     public class Example extends MovieClip
  7.     {
  8.         public function Example()
  9.         {
  10.           Btn.addEventListener(MouseEvent.CLICK,onClick);
  11.           mc.addEventListener(MouseEvent.MOUSE_DOWN,onKeyDown2);
  12.           stage.addEventListener(MouseEvent.MOUSE_UP,onKeyup);
  13.         }
  14.         
  15.         private function onClick(e:MouseEvent):void
  16.         {
  17.             mc.scaleX=0.5;
  18.             mc.scaleY=0.5;
  19.         }
  20.         
  21.         private function onKeyDown2(e:MouseEvent):void
  22.         { 
  23.            var obj:MovieClip=e.target as MovieClip;
  24.            obj.startDrag(true);
  25.             
  26.         }
  27.         
  28.         private function onKeyup(e:MouseEvent):void
  29.         {
  30.             mc.stopDrag();
  31.             
  32.             
  33.         }
  34.         
  35.         
  36.     }
  37. }

停止拖动的函数是stopDrag();

以上两个是一个很常用的技巧,拖动和停止拖动,可以制作一些图片拖动的效果。希望对你有所帮助