Flash游戏学习笔记:鼠标拖动
来源:互联网 发布:声优黑历史 知乎 编辑:程序博客网 时间:2024/05/17 22:40
- package
- {
- public class MouseGame extends Sprite
- {
- private var _sprite:Sprite;
- private var posion:Point;
- public function MouseGame()
- {
- _sprite=new Sprite();
- addChild(_sprite);
- var _shape:Shape=new Shape();
- addChild(_shape);
- _shape.graphics.beginFill(0x000000,1);
- _shape.graphics.lineStyle(1,0,1);
- _shape.graphics.drawCircle(250,250,50);
- _shape.graphics.endFill();
- _sprite.addChild(_shape);
- _sprite.addEventListener(MouseEvent.MOUSE_DOWN,startMascotDrag);
- stage.addEventListener(MouseEvent.MOUSE_UP, stopMascotDrag);
- _sprite.addEventListener(Event.ENTER_FRAME, dragMascot);
- }
- private function startMascotDrag(e:MouseEvent):void
- {
- posion=new Point(e.localX,e.localY);//将一个点保存在这个对象中
- }
- private function stopMascotDrag(e:MouseEvent):void
- {
- posion=null;
- }
- private function dragMascot(e:Event):void
- {
- if (posion!=null)
- {
- _sprite.x = mouseX - posion.x;
- _sprite.y = mouseY - posion.y;
- }
- }
- }
- }
代码解析:
首先我们创建一个继续sprite的类,在构造函数里面,画出一个圆,这个圆我们可以通过监听鼠标,进行拖动。
- 这里我们主要使用到的是
- import flash.display.Sprite;
- import flash.events.*;
- import flash.geom.Point;
- import flash.display.Shape;
- 四个包,有没有注意到 import flash.geom.Point; 这个可以记录点的包呢?
- 其实细心发现这个是很有用处。他的作用保存一个点的坐标
如何创建一个圆:
- var _shape:Shape=new Shape();
- addChild(_shape);
- _shape.graphics.beginFill(0x000000,1);//填充黑色颜色,透明度为1
- _shape.graphics.lineStyle(1,0,1);//设置线的厚度 颜色和透明度
- _shape.graphics.drawCircle(250,250,50); //画圆
- _shape.graphics.endFill();//结束填充
二.如果让圆可以进行拖动?
首先我们进行一些监听
- _sprite.addEventListener(MouseEvent.MOUSE_DOWN,startMascotDrag);
- stage.addEventListener(MouseEvent.MOUSE_UP, stopMascotDrag);
- _sprite.addEventListener(Event.ENTER_FRAME, dragMascot);
两个鼠标事件,一个是按下,一个没有按,然后是一个进行拖动的函数。
三.计算位置
通过减法
新的坐标=当前鼠标值-原始的坐标
这样就可以完成了一个简单的鼠标拖动
四.扩展
尝试一下做一些与鼠标交互的游戏吧
好写到这里,累死了
- Flash游戏学习笔记:鼠标拖动
- flash学习笔记-拖动问题
- FLASH鼠标拖动
- Flash 游戏设计笔记:鼠标类游戏(1)
- Flash 游戏设计笔记:鼠标类游戏(2)
- Flash 游戏设计笔记:鼠标类游戏(3)
- Flash 游戏设计笔记:鼠标类游戏(4)
- flash 绘图API:鼠标拖动小球
- flash 与交互:鼠标交互-拖动伸缩
- Flash游戏学习笔记:矩形检测碰撞
- flash 游戏设计笔记
- Flash As3.0 学习笔记 第三课-鼠标事件-鼠标跟随
- FLASH AS3.0 鼠标拖动技术 startDrag();stopDrag();
- flash游戏开发学习
- flash学习笔记:网页游戏老板键的设置。
- flash AS3.0学习笔记-拖动棋子(吸附)到棋盘对应网格中心
- flash AS3.0学习笔记----拖动棋子所停之处生成新的棋子
- 鼠标拖动
- 编程管理SQL SERVER的帐号
- 窗体间的调用
- 当老妈和我一起遭遇爱情
- JBOSS测试中的常用错误
- 连连看连接算法Javascript版
- Flash游戏学习笔记:鼠标拖动
- SQL Server 安全认证知识【1】
- Linux 用户态与内核态的交互——netlink 篇
- Oracle CEO Larry Ellison
- 美杂志盘点08年美国IT业十大失败事件
- 微软报表ReportingService部署问题
- Linux下读写速度测试
- Mmap and remap_page_range(), in the nutshell.
- 一年后开源将遍布商业的每个角落