自制鼠标的实现

首先,我们打开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就相当于是这个鼠标存在的舞台上)

我们把这里的程序删除吧

时间: 2024-10-14 08:56:20

自制鼠标的实现的相关文章

[自制简单操作系统] 2、鼠标及键盘中断处理事件[PIC\GDT\IDT\FIFO]

1.大致介绍: >_<" 大致执行顺序是:ipl10.nas->asmhead.nas->bootpack.c PS: 这里bootpack.c要调用graphic.c.dsctbl.c.fifo.c.int.c实现功能,其中有些函数还必须汇编来写,所以单独写一个汇编文件naskfunc.nas,为了方便看全部函数和结构体,所以写一个bootpack.h来写一些结构体和函数声明~ >_<" 下面是编译图解:最终生成的haribote.img可放在软盘

《30天自制操作系统》读书笔记(2)hello, world

让系统跑起来 要写一个操作系统,我们首先要有一个储存系统的介质,原版书似乎是06年出版的,可惜那时候没有电脑,没想到作者用的还是软盘,现在的电脑谁有软驱?不得已我使用一张128M的SD卡来代替,而事实上你用的是U盘还是软盘对我们的操作系统没有影响,缺点是你的U盘刷入系统后容量只能是1440 MB,即当年流行的3.5英寸软盘的大小,当然不用担心,再格式化一次(用DiskGeniu),就可以恢复. 我做事情的话,总是怕自己的努力的结果白费了,害怕辛辛苦苦看完这本书但是发现做出来的东西现在根本没法用,

自制操作系统(十) 图像叠加处理

2016.07.12 参考书籍:<30天自制操作系统>.<自己动手写操作系统> qq:992591601  欢迎交流 图像叠加处理的原理很简单,就是给图像分层,从低下往上面画,便可以实现叠加的效果.例如,屏幕背景+一个窗口+鼠标的情况. 例如下面的情形: 计算机桌面上有三个窗口程序,A.B.C.B位于A之上,C位于B之上.要实现这种效果,只需要,先画A(盖住了桌面一部分).再画B(盖住了A和桌面一部分).再画C(盖住了B和桌面一部分).然后每隔一定时间刷新画面即可. 为此引入一个图

自制Unity小游戏TankHero-2D(3)开始玩起来

自制Unity小游戏TankHero-2D(3)开始玩起来 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的.仅为学习Unity之用.图片大部分是自己画的,少数是从网上搜来的.您可以到我的github页面(https://github.com/bitzhuwei/TankHero-2D)上得到工程源码. 本篇主要记录金币.按钮.坦克工厂.小地图等小部件,让整个场景初步成为一个可玩的游戏. 在本篇在制作过程中,

30天自制操作系统之第12天 定时器

定时器的中断处理程序要保证高效率,需要进行一些优化,这里介绍优化的方法.对于一个操作系统来说,会有多个定时器,假设该操作系统维护了500个定时器,当每一次定时中断发生时(这里我们设定1秒发生100次中断),调用中断处理程序,中断处理程序会对这500个定时器进行if判断,看哪些正在被使用,这样1秒内,就会有500X100=10000次if判断,而中断处理程序最讲究节省时间.实际上,我们不必每发生一次定时中断就去对这500个定时器进行判断.因为假设我们使用了500个定时器中的10个,而10个定时器中

[Unity3D入门]分享一个自制的入门级游戏项目&quot;坦克狙击手&quot;

[Unity3D入门]分享一个自制的入门级游戏项目"坦克狙击手" 我在学Unity3D,TankSniper(坦克狙击手)这个项目是用来练手的.游戏玩法来自这里(http://www.4399.com/flash/127672_3.htm),虽然抄袭了人家的创意,不过我只用来练习(目前还很不成熟,离人家的境界相差很大),坦克.导弹.建筑模型来自网络,应该不会有版权问题吧. 由于模型和代码总共10M以上了,需要源代码和发布的Windows版.网页版程序的同学麻烦点个赞并留下你的邮箱~ 到

《30天自制操作系统》读书笔记(4) 绘图

暑假果然是滋生懒散的温床. (╯‵□′)╯︵┻━┻ 好久不动都忘记之前做到哪里了, 上次好像做到了C语言的引入, 这一节所做的东西都相当轻松, 将会绘制出操作系统的基本界面. 绘图的原理 按照书中所说, 将值写入到显存中就能在屏幕上显示相应的像素, 在asmhead.nas 中有这一段: 1 CYLS EQU 0x0ff0 ; 设定启动区 2 LEDS EQU 0x0ff1 3 VMODE EQU 0x0ff2 ; 关于颜色数目的信息,颜色的位数 4 SCRNX EQU 0x0ff4 ; 分辨率

用C#调用Matlab图像处理自制QQ游戏2D桌球瞄准器

平时不怎么玩游戏,有时消遣就玩玩QQ里的2D桌球,但是玩的次数少,不能像骨灰级玩家一样百发百中,肿么办呢?于是某天突发奇想,决定自己也来做个“外挂”.说是外挂,其实只是一个瞄准器,毕竟外挂是修改别人的软件,有点违法的意思,况且自己还没有能力去那么做,所以自己还是弄个瞄准器,做做弊,过下小瘾,同时也提高一下自己的编程能力. 起初(也就是半年前),自己尝试做一个瞄准器的初始版本,用C#做,想法很简单: Step1.把鼠标移到洞口,获取鼠标位置: Step2.将鼠标放到要击打的球的圆心上,获取鼠标当前

《30天自制操作系统》笔记(12)——多任务入门

<30天自制操作系统>笔记(12)——多任务入门 进度回顾 上一篇介绍了设置显示器高分辨率的方法.本篇讲一下操作系统实现多任务的方法. 什么是多任务 对程序员来说,也许这是废话,不过还是说清楚比较好. 多任务就是让电脑同时运行多个程序(如一边写代码一边听音乐一边下载电影). 电脑的CPU只有固定有限的那么一个或几个,不可能真的同时运行多个程序.所以就用近似的方式,让多个程序轮换着运行.当轮换速度够快(0.01秒),给人的感觉就是"同时"运行了. 多任务之不实用版 我们首先从