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

步骤:使用上一节的文件,这次要修改的是鼠标一个事件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.         private function onClick(e:MouseEvent):void
  14.         {
  15.             mc.scaleX=0.5;
  16.             mc.scaleY=0.5;
  17.         }
  18.         private function onKeyDown2(e:MouseEvent):void
  19.         {
  20.            var obj:MovieClip=e.target as MovieClip;
  21.            obj.startDrag();
  22.         }
  23.     }
  24. }

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

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.         }

我们调用了一个拖动的函数。   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.         private function onClick(e:MouseEvent):void
  15.         {
  16.             mc.scaleX=0.5;
  17.             mc.scaleY=0.5;
  18.         }
  19.         private function onKeyDown2(e:MouseEvent):void
  20.         {
  21.            var obj:MovieClip=e.target as MovieClip;
  22.            obj.startDrag(true);
  23.         }
  24.         private function onKeyup(e:MouseEvent):void
  25.         {
  26.             mc.stopDrag();
  27.         }
  28.     }
  29. }

 

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

 

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

 

 

    博视界科技专注于沉浸式全景数字餐厅、全息酒店宴会厅,旨在帮传统餐饮用科技玩跨界,欢迎咨询!

官方网站:www.boseetech.com

联系方式:    

微信联系我:


    【声明】转载本文请注明出处三人行设计,并保留有效链接:flash多媒体交互应用基础(2) http://www.srxtuan.com/archives/1544,谢谢!