当前位置:八五教程网设计频道平面设计教程Flash教程AS教程:鼠标拖拽与旋转MC» 正文
  1. AS教程:鼠标拖拽与旋转MC

  2. [11-23 13:10:57]   来源:http://www.85jc.com  Flash教程   阅读:8572

概要: Webjx核心提示:不用shift键就不能实现这种功能吗?我开始考虑如何区分MOUSE_DOWN+MOUSE_UP与CLICK. 在网上看到某个游戏既要拖拽mc又要旋转mc,拖拽用鼠标事件实现,而旋转需要用shift+鼠标click事件。总觉得太麻烦了。故而希望自己能找到一种只用鼠标就能同时实现拖拽与旋转功能的方法。结果发现MOUSE_DOWN+MOUSE_UP竟然相当于一次CLICK事件。即每次释放鼠标左键,停止拖拽时,mc会旋转一次,而这个显然不是预期的效果。于是,开始明白了,那个程序员为什么要添加shift键的侦听了。可是,不用shift键就不能实现这种功能吗?我开始考虑如何区分MOUSE_DOWN+MOUSE_UP与CLICK.。方法一:设置时间间隔。时间不太好把握,pass掉。方法二:用鼠标的相对位置。倘若mc未移动则视为click事件。正解!package{ import flash.display .*; import flash.geom .

AS教程:鼠标拖拽与旋转MC,标签:flash教程制作,flash动画教程,http://www.85jc.com

Webjx核心提示:不用shift键就不能实现这种功能吗?我开始考虑如何区分MOUSE_DOWN+MOUSE_UP与CLICK.

在网上看到某个游戏既要拖拽mc又要旋转mc,拖拽用鼠标事件实现,而旋转需要用shift+鼠标click事件。总觉得太麻烦了。故而希望自己能找到一种只用鼠标就能同时实现拖拽与旋转功能的方法。

结果发现MOUSE_DOWN+MOUSE_UP竟然相当于一次CLICK事件。即每次释放鼠标左键,停止拖拽时,mc会旋转一次,而这个显然不是预期的效果。

于是,开始明白了,那个程序员为什么要添加shift键的侦听了。

可是,不用shift键就不能实现这种功能吗?我开始考虑如何区分MOUSE_DOWN+MOUSE_UP与CLICK.。

方法一:设置时间间隔。时间不太好把握,pass掉。

方法二:用鼠标的相对位置。倘若mc未移动则视为click事件。正解!

package{
 import flash.display .*;
 import flash.geom .Point;
 import flash.events.*;
 
 public class main extends Sprite{
  private var mc:MC;
  private var clickOffset:Point;
  private var mouseLoc:Point;
 
  public function main(){
   mc=new MC();
   addChild(mc);
   mc.x=200;
   mc.y=200;
   mc.addEventListener(MouseEvent.CLICK ,rot);
   mc.addEventListener(MouseEvent.MOUSE_DOWN,startdrag);
   mc.addEventListener(Event.ENTER_FRAME. ,drag);
   stage.addEventListener(MouseEvent.MOUSE_UP,stopdrag);
  }
  private function startdrag(e:MouseEvent ){
   mouseLoc=new Point(e.stageX,e.stageY);
   clickOffset=new Point(e.stageX-mc.x,e.stageY-mc.y);
  }
  private function drag(e:Event){
   if(clickOffset==null) return;
   mc.x=mouseX-clickOffset.x;
   mc.y=mouseY-clickOffset.y;
  }
  private function stopdrag(e:MouseEvent ){
   clickOffset=null;
  }
  private function rot(e:MouseEvent){
   if(!mouseLoc.equals(new Point(e.stageX,e.stageY)))return;
    mc.rotation+=30;
  
  }
 }
}


Tag:Flash教程flash教程制作,flash动画教程平面设计教程 - Flash教程

上一篇:Flash技巧:组合技巧制作吸引人的动画0
《AS教程:鼠标拖拽与旋转MC》相关文章
留言板
取消 发布留言