zoukankan      html  css  js  c++  java
  • 实现自我鼠标

    首先,我们打开Flash,然后进入例如以下界面。点击如图箭头所指,能够打开新的项目



    新的项目如图所看到的,当然,假设你打开的不是AS3或者打开错了,都能够在图中箭头所指处改动成你须要的版本号,然后记得保存为新项目哦~(ctrl+s)



    保存文件路径自定


    接下来我们用Flash的画图工具去绘制一个鼠标图形,在这里我就不去演示了,假设在图中并没有右边箭头所指处的工具栏,能够再左边箭头处窗体-工具栏让他显示出来。当然,其它的界面都能够从这里显示出来




    随便画了一个样子鼠标的样子




    将所画的图形所有选中,然后将鼠标移至图形上。单击鼠标右键-转换为元件,名字自定



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





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



    将会出现如图所看到的的样子。然后记得Ctrl+s(保存)哦,保存界面出来就直接点击确定就可以。

    至此,我们已经生成了一个类。这是一个主类,相当于Main程序,当我们打开该Flash项目的时候,第一时间运行的就是该类中的程序。




    Package
    {


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


    }
    那么就等于这个类的详细地址是在你这个项目的com目录下






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





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



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



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






    能够注意的首先是import了两个新的类,各自是时钟和时钟时间的类,是Timerkeyword 和 TimerEventkeyword必须的类
    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(保存)











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





    我们把这里的程序删除吧


















    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    剑指Offer——斐波那契数列
    剑指Offer——旋转数组的最小数字
    剑指Offer——用两个栈实现队列
    剑指Offer——重建二叉树
    剑指Offer——从尾到头打印链表
    剑指Offer——替换空格
    Leetcode 153. Find Minimum in Rotated Sorted Array -- 二分查找的变种
    头条笔试后端开发
    渣浪电话面
    Leetcode 中Linked List Cycle 一类问题
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4654167.html
Copyright © 2011-2022 走看看