当前位置: YIQ网 游戏生活 数码 Flash如何制作跟随鼠标旋转的星星动画效果

软件 绿色全运app 无忧法务咨询平台 东方头条苹果版 乾车网官方版 通管家app 如何画漫画app

游戏 热血虎卫 幻世战国 像素大陆 合金风暴2 开心工坊 三国荣耀

Flash如何制作跟随鼠标旋转的星星动画效果

更新时间:2023-01-11 16:45:04 来源:YIQ网

本教程是向大家介绍Flash制作跟随鼠标旋转的星星动画效果,教程介绍的很详细,并对每个代码进行解析,非常适合新手学习,希望对大家有所帮助!第一步:打开FLASH,新......

本教程是向大家介绍Flash制作跟随鼠标旋转的星星动画效果,教程介绍的很详细,并对每个代码进行解析,非常适合新手学习,希望对大家有所帮助!

第一步:

打开FLASH,新建一个影片剪辑元件,命名为星星,在里面绘制一个星星出来,并且把它的中心点和舞台注册点对齐,在第20帧和第40处各插入一个关键帧。选中第20帧,在它的中心点和舞台的注册点对齐的情况下按住SHIFT键进行等比例缩小(你认为差不多就行了),然后选中第1到20帧的任意一帧创建补间动画,打开属性面板把它的转调成逆时针,选中第20到40帧的任意一帧创建补间动画,打开属性面板把它的转调成顺时针。

第二步:

在新建一个影片剪辑元件,命名为转圈的星星,在图层面板的地方找到添加运动引导层添加一个引导层出来,在选中该图层的情况下按住AIT+SHIFT键在舞台上绘制一个有边框无填充色的圆(大小你认为合适就OK),然后用鼠标圈住它的一点边选中后删除(这样做是给它一缺口),选中绘制好的圆,把它的左和上对齐舞台中心的注册点,选中第40帧处添加一个帧,锁定该图层,选择第一个图层把我们库中的星星拖进来并把它的中心点对齐引导层中圆的上边的那个缺口的地方,选中第四十帧插入一个关键帧把它的中心点对齐引导层中圆的下边的那个缺口的地方。回到舞台,把库中转圈的星星放到舞台任意位置,并给它一个实例名称mc。

第三步:

继续插入一个影片剪辑元件,命名为as,选中第一帧添加以下代码:

复制代码

代码如下:

var k:Number=64;//用来定义星星的个数;

var n:Number=16;//用来定义一圈星星的个数;

var r:Number=2;X坐标和Y坐标的缓动,值越大跟随鼠标移动时就越慢;

for(var i=1;i=k;i++){

duplicateMovieClip(_root.mc,mc+i,i);

setProperty(_root.mc+i,_rotation,360/n*i);

setProperty(_root.mc+i,_alpha,100/k*i);

}

setProperty(_root.mc,_visible,0);

选中第二帧处插入一个空白关键帧添加以下代码:

复制代码

代码如下:

for(var j=1;j=k;j++){

setProperty(_root.mc+j,_x,_root[mc+j]._x+(_root[mc+(j-1)]._x-_root[mc+j]._x)/r);

setProperty(_root.mc+j,_y,_root[mc+j]._y+(_root[mc+(j-1)]._y-_root[mc+j]._y)/r);

}

选中第三帧处插入一个空白关键帧添加以下代码:

复制代码

代码如下:

gotoAndPlay(2);

添加完代码以后回到主场景;

第四步:

把库中名为as的元件拖放到舞台上,给它一个实例名称mc0.在主场景内添加一个图层在第一帧加上拖动代码:

复制代码

代码如下:

startDrag(_root.mc0,true);

注意这里是mc0不是mc,虽然你拖动的影片里面没有东西,在下面后细说的;

做到现在就算完工了,在这里就把重点的地方说一下。N为什么是它的一圈星星的个数

在第一个for循环语句里有这样一段,

setProperty(_root.mc+i,_rotation,360/n*i);

看它的_rotation的值是360/n*i

也就是_root.mc+i,_rotation=360/16*i

也就是

_root.mc1._rotation=360/16*1

_root.mc2._rotation=360/16*2

_root.mc3._rotation=360/16*3

_root.mc4._rotation=360/16*4

_root.mc5._rotation=360/16*5

_root.mc6._rotation=360/16*6

_root.mc7._rotation=360/16*7

_root.mc8._rotation=360/16*8

_root.mc9._rotation=360/16*9

_root.mc10._rotation=360/16*10

.............._root.mc64._rotation=360/16*64

也就是说把360度平均分成16份,它们的角度就是这个值,360/16=22.5。

第一个MC的角度是从原MC角度22.5的地方开始复制出来的,第二个MC的角度是从原MC角度45的地方开始复制出来的,第三个MC的角度是从原MC角度67.5的地方开始复制出来的,直到乘到17的时候就重叠了,因为360/16*6=382.5,角最大值是360,当到382.5的时候它就把360看成0来计算了,结果就是22.5,当你把N的值调大的时候,比如36它就会有36个星星围成一圈了,360/36*i 也就是mc1角度是10*1,mc2的角度是10*2 ,mc3的角度是10*3 当乘到37的时候它的角度多了10也就是370,第37个MC的角度会是原MC角度的370-360也就是10,这就是N的值等于一圈星星的原因。

我们在主场景第一帧里放的代码明明是拖动的MC0,为什么MC复制出来的影片会跟着鼠标走,把在AS第二帧设置X、Y坐标的循环代码拿下来分析一下:

复制代码

代码如下:

for(var j=1;j=k;j++){

setProperty(_root.mc+j,_x,_root[mc+j]._x+(_root[mc+(j-1)]._x-_root[mc+j]._x)/2);

setProperty(_root.mc+j,_y,_root[mc+j]._y+(_root[mc+(j-1)]._y-_root[mc+j]._y)/2);

}

看它的X坐标,

setProperty(_root.mc+j,_x,_root[mc+j]._x+(_root[mc+(j-1)]._x-_root[mc+j]._x)/2);

setProperty这句话是说设置括号内(目标,目标的属性,该属性的值);

我们现在的目标就是主场景上面的mc1,mc2,mc3,mc4,mc5......mc64;

它们的X坐标值各是多少,为什么会跟随鼠标移动,我们来仔细地看下它们的值

_root.mc+i._x_root[mc+j]._x+(_root[mc+(j-1)]._x-_root[mc+j]._x)/2

也就是

mc1._x=mc1._x+(mc+(j-1)._x-mc1._x)/2

假设mc1现在的坐标是300

也就是mc1._x=300+(mc+(j-1)._x-300)/2

现在我们已经得到两个数字了,还有一个mc+(j-1)._x,先算括号内,j-1第一次运行循环的时候j的值是1,就是1-1,也就是0;也就是mc+0,也就是mc0,也就是我们拖动的那个没有东西的影片剪辑。mc0是跟着我们的鼠标动的,上面搞清楚后,我们就在给mc0也就是我们鼠标的坐标假设一个值。随便设定一个我们就假设100吧,值有了我们在接着做算术。

mc1._x=300+(100-300)/2

也就是

mc1._x=300+负200/2

也就是

mc1._x=300+负100 //注意下负值是越乘负的越多,越除负的越少,加减相反

也就是

mc1._x=200;

当计算机运行到这里时,mc1的坐标是200了,但200还不符合我们所看到的效果,我们运行的时候是它的坐标是跟着鼠标走的,那么程序会接着往下走,它就会执行设定MC2的坐标了,MC2的坐标会是250,接着是MC3的坐标是275,总之是越往下它们坐标的间隔就会越小,你自己可以测试下看。

当循环完64次以后程序跳出循环了,那么就会TOGO到下一帧,执行gotoAndPlay(2);

又回来了,接着又是循环64次,代码还是相同的代码,不一样的是这次的坐标都是已经设置过的了,我们在看一下MC1现在的坐标是多少了,上次设置过后是200,那么现在是

mc1._x=200+(100-200)/2

也就是

150

这个坐标值会离鼠标越来越近的,直到和鼠标的坐标一样,那么相同后面的MC也一样会近,直到它们的坐标和鼠标相等为止,而且它们的坐标永远也不会小于鼠标的坐标。

教程结束,

本文标题:Flash如何制作跟随鼠标旋转的星星动画效果
本文永久链接:https://www.yiq.com/shenghuo3729225.html
the end
声明:YIQ网稿件来源主要为网站原创、用户投稿、网络资源整理等。如果相关权益人认为本文侵犯您的权益,请备好权益证明、身份证明,及时联系QQ 1926491587 我们将会在48小时内给文章处理!

数码列表

  • 换手机了怎么转通讯录换手机了怎么转通讯录

    1、在旧手机打开联系人,点击三个点,设置,导入/导出,选择导出到sim卡,手机,点击全选,导出,继续...

    1970-01-01
  • oppo手机怎么获取root权限oppo手机怎么获取root权限

    1、搜索“一键root”找一款root软件下载(现在大多数手机助手都支持root),下载安装好备用。...

    1970-01-01
  • 手机长焦镜头实用吗手机长焦镜头实用吗

    1、有用的,在拍远处的事物时,非常好用。2、现在已经有一些智能手机的后置双摄中加入了长焦镜头后,支持...

    1970-01-01
  • 咽管功能不良有哪几种原因咽管功能不良有哪几种原因

    1、引起咽鼓管咽口机械性阻塞的疾病,如腺样体肥大、肥厚性鼻炎、鼻咽部肿瘤、鼻中隔后部偏曲以及长期的鼻...

    1970-01-01
  • 怎么在电脑上看硬盘信息怎么在电脑上看硬盘信息

    1、首先点击电脑桌面的此电脑标志,(WIN10系统为此电脑标志,WIN7系统为我的电脑标志)。2、点...

    1970-01-01
  • 微信聊天记录通过电脑怎么恢复微信聊天记录通过电脑怎么恢复

    1、首先打开电脑微信,点开左下角更多选项。2、选择备份与恢复,在弹窗中选择恢复聊天记录至手机,选择需...

    1970-01-01
  • vivo手机照片恢复vivo手机照片恢复

    1、最近删除:要在【设置】中找到【相册】然后打开【最近删除】之后误删的就可以在这里找回了。2、云服务...

    1970-01-01
  • 电脑怎么添加打印机设备电脑怎么添加打印机设备

    1、首先打开控制面板,设备和打印机,添加打印机,我所需的打印机未列出,使用TCP/IP地址和主机名添...

    1970-01-01
  • 购买笔记本电脑看哪些参数购买笔记本电脑看哪些参数

    1、CPU这个主要取决于频率和二级缓存,频率越高,二级缓存越大,速度也就越高。现在市场上的CPU也有...

    1970-01-01
  • 苹果7plus参数是什么苹果7plus参数是什么

    1、CPU:苹果A102.23GHz(4核)2、CPU频率:22303、运行内存:3GB4、机身容量...

    1970-01-01

网站介绍 | 版权声明 | 联系我们 | 网站地图 | 违法和不良信息举报中心

作品版权归作者所有,如果侵犯了您的版权,请联系我们,本站将在3个工作日内删除

健康游戏忠告:抵制不良游戏,拒绝盗版游戏。注意自我保护,谨防受骗上当。适度游戏益脑,沉迷游戏伤身。合理安排时间,享受健康生活。

邮箱:电话: