码迷,mamicode.com
首页 > 其他好文 > 详细

自制鼠标的实现

时间:2015-03-16 13:01:38      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:

技术分享首先,我们打开Flash,然后进入如下界面,点击如图箭头所指,可以打开新的项目



技术分享新的项目如图所示,当然,如果你打开的不是AS3或者打开错了,都可以在图中箭头所指处修改成你需要的版本,然后记得保存为新项目哦~(ctrl+s)



技术分享保存文件路径自定


技术分享接下来我们用Flash的绘图工具去绘制一个鼠标图形,在这里我就不去演示了,如果在图中并没有右边箭头所指处的工具栏,可以再左边箭头处窗口-工具栏让他显示出来,当然,其他的界面都可以从这里显示出来




技术分享随便画了一个样子鼠标的样子




技术分享将所画的图形全部选中,然后将鼠标移至图形上,单击鼠标右键-转换为元件,名字自定



技术分享点中我们转换为元件的一处,箭头所指的属性栏(没有的 窗口 - 属性 就可以调出来)实例名称的TextBox文本框中输入Mouse_MC(这是你这个元件的名称,就好比你也有名字一样)





技术分享

然后再在箭头所指的文本框中输入Index,然后再点击这个文本框右边的小铅笔



技术分享将会出现如图所示的样子,然后记得Ctrl+s(保存)哦,保存界面出来就直接点击确定即可。至此,我们已经生成了一个类,这是一个主类,相当于Main程序,当我们打开该Flash项目的时候,第一时间执行的就是该类中的程序。




Package
{


}
相当于包的意思,相当于文件夹,将文件保存,后面没有文字相当于是该项目目录下。
当然,如果出现
package com
{


}
那么就等于这个类的具体地址是在你这个项目的com文件夹下






import 关键字
相当于导入的意思,一个类里面能使用的方法有限,如果不从其他地方导入包,那么有些程序你就无法使用,当想使用其他程序时,你就必须要先import这个类,然后才能使用这个类里面的数据。
import flash.display.MovieClip; 导入MovieClip这个基类,所有影片(转换为元件的)都必须引用该类为自己的
父类,所以程序在开始的时候就自动帮你导入了





public class Index extends MovieClip {
}
出现class了,这就表示这是一个类,该类的所有程序必须写在这个里面,写在外面就报错 Index就表示这个类的名字



public function Index() {
}
就代表这个类的Main(主程序了)也就是在创建这个类的时候会执行一次的程序



可以发现每一个{(前大括号)前都有一串程序,有前那么就有后,如何区分括号,最里面的前括号和最里面的
括号是一对,然后是倒数第二里面的前括号和倒数第二的后括号,以此类推,有兴趣可以度娘程序括号的区分去学习。




技术分享
可以注意的首先是import了两个新的类,分别是时钟和时钟时间的类,是Timer关键字 和 TimerEvent关键字必须的类
var timer:Timer = new Timer(16); 新建一个时钟函数,就是说每隔多少时间执行一次的程序(在这里是十六毫秒)
timer.addEventListener(TimerEvent.TIMER, My_Mouse_Move);是创建时钟事件,既然已经创建了时钟了,就
必须给他一段每隔多少时间执行的程序,也就是My_Mouse_Move,也可以看见
private function My_Mouse_Move(e:TimerEvent):void
{

}
在这个前后大括号内写的程序就是将16毫秒执行一次的程序







技术分享写入
Mouse_MC.x = mouseX;
Mouse_MC.y = mouseY;
前面我们说过了,将原件的名字取名了,那么这里可以理解为是谁谁谁干嘛了,
每个元件都有其坐标
那么我们设定坐标,x,y
mouseX 就是你真实鼠标的x轴,y也是同理
现在,我们可以按下ctrl+enter试试效果啦






技术分享
我们加入如下程序
Mouse_MC.mouseChildren = false;
Mouse_MC.mouseEnabled = false;
这两句话就是取消这个元件的点击和可用,如果不写的话讲会引发一直在点击这个图片的错误,只有将他点击取消了才可以点击这张图片下面的图
Mouse 是需要导入的,Mouse.Hide(),就是隐藏鼠标可见性,现在再试试效果~





技术分享接下来我们复制四个我们画的鼠标,并将其命名为 Mouse_MC1,Mouse_MC2,Mouse_MC3,Mouse_MC4






技术分享然后样式的ListBox下拉框中选择alpha选项,我们将Mouse_MC1的alpha设置为80,Mouse_MC2为60,Mouse_MC3为40,Mouse_MC4为20




技术分享再在原来的基础上改为如上所示,然后在运行程序,查看其效果




因为程序是由上而下执行的,所以我只能先移动最后一个,移动第一个的话会发生全部移到一起的错误,具体原因可以读程序看出来





技术分享




技术分享我们新建一个timer程序,如图所示



然后将第21张图所写程序全部剪切到第二个时钟里面(第二个时钟间隔为100毫秒)





技术分享最终程序






技术分享如图所示,开始第二种方法,在AS链接下双击我们的鼠标,然后输入你的名字,那么这个就是你鼠标的类了。



然后在元件上右键-编辑类-ctrl+s(保存)






技术分享






技术分享在这个类里面写入如下程序
this关键字,代表这个的意思,在鼠标的类里面写this就相当于说这个鼠标元件的alpha-=0.01这里是百分之一百,那么也就是1的意思,-0.01换为百分比就是百分之一了,相当于每16毫秒颜色就淡百分之一。if()是如果的意思,如果这个鼠标的alpha小于0了,那么就在this.parent上删除这个鼠标(this.parent就相当于是这个鼠标存在的舞台上)





技术分享我们把这里的程序删除吧







技术分享






技术分享






技术分享

自制鼠标的实现

标签:

原文地址:http://blog.csdn.net/qq_26472923/article/details/44302437

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!