麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 辦公 > Flash > 正文

FLASH AS鼠標拖拽與旋轉MC教程

2020-07-17 13:05:42
字體:
來源:轉載
供稿:網(wǎng)友

在網(wǎng)上看到某個游戲既要拖拽mc又要旋轉mc,拖拽用鼠標事件實現(xiàn),而旋轉需要用shift+鼠標click事件??傆X得太麻煩了。故而希望自己能找到一種只用鼠標就能同時實現(xiàn)拖拽與旋轉功能的方法。

結果發(fā)現(xiàn)MOUSE_DOWN+MOUSE_UP竟然相當于一次CLICK事件。即每次釋放鼠標左鍵,停止拖拽時,mc會旋轉一次,而這個顯然不是預期的效果。

于是,開始明白了,那個程序員為什么要添加shift鍵的偵聽了。

可是,不用shift鍵就不能實現(xiàn)這種功能嗎?我開始考慮如何區(qū)分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;

}
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 特级毛片免费视频 | 成人免费自拍视频 | 亚洲一区二区免费视频 | 日韩欧美电影一区二区三区 | 国产品久久 | 久久精精品 | 在线成人免费观看www | 成人免费看视频 | 久久精品探花 | 国产瑟瑟视频 | 黄色免费播放网站 | 热re91久久精品国产99热 | 在线看一级片 | 久久免费观看一级毛片 | 亚洲自拍第二页 | 欧美国产精品一区二区 | 国产精品刺激对白麻豆99 | 97香蕉超级碰碰久久免费软件 | 国产成人精品视频在线 | 一级免费大片 | 91久久久久久久久久久久久 | 黑人一区 | 久草在线视频免费播放 | 国产精品久久久乱弄 | 中文字幕综合 | 最新中文字幕第一页视频 | 欧美成人精品欧美一级乱黄 | 国产精品一区二区在线 | 久章草在线视频 | 亚洲成人精品久久久 | 日韩av电影在线免费观看 | 一本色道久久综合亚洲精品小说 | 精品一区二区三区四区在线 | 激情大乳女做爰办公室韩国 | 亚洲无线看 | 成人一区二区三区在线 | 国产成人精品免费视频大全办公室 | 国产在线色 | 中文字幕网址 | 久久99精品久久久久久国产越南 | 国产免费视频一区二区裸体 |