Flash AS3教程:用ActionScript侦测鼠标的位置-Flash actionscript

2016-03-18 15:03 8 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享Flash AS3教程:用ActionScript侦测鼠标的位置-Flash actionscript吧。

【 tulaoshi.com - FLASH 】

poluoluo核心提示:在这个教程中我们将学习如何用Flash AS3来得到鼠标的当前方位。我们可以用此为游戏创建有趣的控制方法,例如可把鼠标当作一个游戏控制杆。现在我们先展示一下我们的作品。

快速教程:如何用ActionScript侦测鼠标的位置

在这个教程中我们将学习如何用Flash AS3来得到鼠标的当前方位。我们可以用此为游戏创建有趣的控制方法,例如可把鼠标当作一个游戏控制杆。现在我们先展示一下我们的作品。

下面是一个简单的示例:

简单概述

使用鼠标事件来监听鼠标光标的运动,用变量存贮相应数据并展示其当前方位。

第一步:创建一个新文档

打开Flash并创建一个新的Flash文档(ActionScript 3)。

第二步:打开动作面板

按F9或执行窗口动作打开动作面板。

第三步:变量

键入一些我们将使用的变量,变量名应能一目了然。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

var previousX:Number =0;

var previousY:Number = 0;

var currentX:Number = 0;

var currentY:Number = 0;

var xDir:String;

var yDir:String;

var dir:TextField = new TextField();

第四步:主函数

下面是主函数

function getMouseDirection():void

{

dir.width = stage.stageWidth; //文本区域的大小

addChild(dir); //在舞台上添加文本区域

//在舞台上添加一个鼠标事件监听器,并当鼠标运动时执行checkDirection 函数

stage.addEventListener(MouseEvent.MOUSE_MOVE, checkDirection);

}

第五步: Check Direction函数

下面的代码将检测鼠标方位,并将结果展示在舞台文本域上。

function
checkDirection(e:MouseEvent):void

{

getHorizontalDirection();

getVerticalDirection();

dir.text = x:  + xDir + , y:  + yDir;

}

第六步:获取方位

检测鼠标的方向.

//水平方向

function getHorizontalDirection():void

{

previousX = currentX; //检测刚刚的地址

currentX = stage.mouseX; //获取当前的地址

if (previousX currentX)       //将两个地址进行比较来确定方向

{

xDir = left;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

}

else if (previousX currentX)

{

xDir = right;

}

else

{

xDir = none;

}

}

//垂直方向

function  getVerticalDirection():void

{

previousY = currentY; //检测刚刚的地址

currentY = stage.mouseY; //获取当前的地址

if (previousY currentY)    //将两个地址进行比较来确定方向

{

yDir = up;

}

else if (previousY currentY)

{

yDir = down;

}

else

{

yDir = none;

}

}

第七步:运行函数

添加下面的代码来运行函数。当 getMouseDirection() 开始函数运行,就会建立一个可以启动方向指示器的鼠标运动事件监听器

getMouseDirection();

第八步:文档类版本

package

{

import flash.display.MovieClip;

import flash.text.TextField;

public class MouseMoveDemo extends MovieClip

{

public var previousX:Number = 0;

public var previousY:Number = 0;

public var currentX:Number = 0;

public var currentY:Number = 0;

public var xDir:String;

public var yDir:String;

public var dir:TextField = new TextField();

public function MouseMoveDemo()

{

getMouseDirection();

}

public function getMouseDirection():void

{

dir.width = stage.stageWidth;

addChild(dir);

stage.addEventListener(MouseEvent.MOUSE_MOVE, checkDirection);

}

public function
checkDirection(e:MouseEvent):void

{

getHorizontalDirection();

getVerticalDirection();

dir1.text = x: + xDir

dir2.text = y: + yDir;

}

public function getHorizontalDirection():void

{

previousX = currentX;

currentX = stage.mouseX;

if (previousX currentX)

{

xDir = left;

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/flash/)

}

else if (previousX currentX)

{

xDir = right;

}

else

{

xDir = none;

}

}

public function getVerticalDirection():void

{

previousY = currentY;

currentY = stage.mouseY;

if (previousY currentY)

{

yDir = up;

}

else if (previousY currentY)

{

yDir = down;

}

else

{

yDir = none;

}

}

}

}

如果较之时间时间轴代码而更喜欢用文档类的话就选择上述的方法

你可以将这个类用在任何项目中以插入鼠标方向指示器。只需将整个类复制到新的AS文档中,将其保为MouseMoveDemo.as,,然后你可以用下面的使用下面的部分Tulaoshi.com代码以作参考 :

var mouseMoveDemo:MouseMoveDemo= new  MouseMoveDemo();

addChild( mouseMoveDemo );

总结

这是个比较基础的例子,试着做做吧,并将它应用到你的项目中。

谢谢阅读。

来源:http://www.tulaoshi.com/n/20160318/1886125.html

延伸阅读
标签: FLASH flash教程
当要运算两点距离时,我见不少人都是用最原始的运算方法,其实2.0开始就有了Point类,可以计算两点间距离TuLaoShi.com,除此之外,Point类还可用于计算矢量,某些看似复杂的计算,用上Point类就会变得简单。当然,要巧用Point类,必需要有矢量的知识。虽然,3.0的Point类和2.0的区别不大,但我之所以把这帖放在as3讨论区,是因为as3的Point类广...
标签: FLASH flash教程
poluoluo核心提示:Flash高级技巧教程:flash手写输入. 之前见有一些网友提到过此类问题,也有人讨论过了,大致原理就是坐标数据,然后根据点坐标去判断笔画,然后生成字符。最近无聊就尝试去试试,因为手写输入,难点就是根据数据生成笔画这,可惜我是前端的,后台数据不是太了解,所以就打算研究下现在网站上比较通用的flash手写输入。[大...
标签: FLASH flash教程
poluoluo核心提示:剪贴板是一个软件设备,它用来暂时存贮数据,以及通过复制粘贴实现数据在文档之间的移动。 这个快速教程,我们将用Flash制作一个复制键。 剪贴板是一个软件设备,它用来暂时存贮数据,以及通过复制粘贴实现数据在文档之间的移动。 这个快速教程,我们将用Flash制作一个复制键。 最终的动画 下面的例子将是我们在这个教...
标签: FLASH flash教程
本例继续讲解AS的基础知识,今天我们来学习Flash AS入门系列教程第七课:影片剪辑第10节用AS绘图,教程详细讲解了运用AS绘制各种图形的方法,对Flash的AS编程有兴趣的朋友可以到论坛与作者交流。 上一篇文章:Flash as入门(15):filters类滤镜 用AS绘图 AS2.0这我们提供了一些绘图方法,利用这些方法,我们可以绘制一些图形。下面来认识一下...
标签: FLASH flash教程
本例我们将开始学习AS的相关知识,不要被这个题目吓倒哦,AS的确是一种程序语言,我们编写AS代码就叫做编程,我们学习AS首先应该克服对编程的恐惧,所以在开始学习前,我们先廷着胸大声地说:"编程其实很容易"。 ActionScript是针对Flash Player的编程语言,它在flash内容和应用程序中实现了交互性、数据管理以及其它许多功能.那么我们将...

经验教程

477

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部