您所在的位置: 首页 > 教程首页 > 媒体工具 > flash跟随鼠标的旋转星星的制作教程

flash跟随鼠标的旋转星星的制作教程

来源:互联网 | 编辑:啤酒 | 时间:2013-07-17 11:30:28 | 阅读:16777215

第一步:

打开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也一样会近,直到它们的坐标和鼠标相等为止,而且它们的坐标永远也不会小于鼠标的坐标。

BannerZest Pro Mac版 V4.0
BannerZest Pro Mac版 V4.0

类型:编程软件  大小:0MB  平台:

MAC

你可能感兴趣的内容

  • 暴风影音加速播放方法教程
    暴风影音加速播放方法教程
    有的小伙伴在使用暴风影音看电视的时候,看到不喜欢的片段,想要跳过去,就可以使用暴风影音加速播放功能。那么,暴风影音怎么加速播放?今天,飞翔铭月给大家带来暴风影音加速播放教程,希望可以帮助大家。

    媒体工具

    2018-07-23

  • 暴风影音avi文件不能播放解决办法​
    暴风影音avi文件不能播放解决办法​
    在使用暴风影音来观看影片的时候,发现AVI文件的视频不能播放,这是怎么回事?下面飞翔铭月就为大家带来了暴风影音avi文件不能播的解决方法。

    媒体工具

    2018-07-23

  • 小米投屏神器使用方法教程
    小米投屏神器使用方法教程
    小米投屏神器怎么使用?很多小伙伴们都还不知道,下面52z飞翔下载小编为大家整理了小米投屏神器使用方法教程,一起来看看吧。

    媒体工具

    2018-07-11

  • 巧影视频分身制作教程
    巧影视频分身制作教程
    巧影app是一款专业媒体视频剪辑器,最近看见抖音有很多小伙伴都在玩“分身术”,大家都在问抖音分身术怎么拍?其实抖音中的分身术视频都是通过巧影app剪辑上传到抖音的,想知道巧影分身视频怎么拍?一起跟飞翔铭月来看一下巧影分身教程吧。

    媒体工具

    2018-05-30

  • 爱奇艺投屏电视设置方法教程
    爱奇艺投屏电视设置方法教程
    爱奇艺投屏电视怎么设置?很多小伙伴们都还不知道,下面52z飞翔下载小编为大家整理了爱奇艺投屏电视设置方法教程,一起来看看吧。

    媒体工具

    2018-05-25

  • qsv格式转换mp4格式图文教程
    qsv格式转换mp4格式图文教程
    很多朋友都有遇到过QSV视频文件无法打开的情况吧。今天本文主要分享一下QSV文件怎么打开,另外如果需要手机、电脑都可以轻松打开qsv文件,则还需要将QSV文件转换成MP4格式就可以了,下面具体来看看。

    媒体工具

    2018-05-14

  • 《暴风转码》翻转视频方法教程
    《暴风转码》翻转视频方法教程
    暴风转码是一款非常实用的视频转码软件,不过一些朋友使用暴风转码后发现图像被倒置了,这个时候怎么办?下面由52z飞翔小编为你带来《暴风转码》翻转视频方法教程,希望能帮助到你

    媒体工具

    2017-12-19

  • 西瓜视频登录方法详细教程
    西瓜视频登录方法详细教程
    西瓜视频是由头今日条视频更改以后的名称,不少用户还不清楚西瓜视频怎么登录?下面就和52z飞翔网小编一起来看看西瓜视频登录方法详细介绍吧!

    媒体工具

    2017-11-02

  • 步兵社区怎么注册 步兵社区账号密码分享
    步兵社区怎么注册 步兵社区账号密码分享
    步兵社区入口——是一款全新的福利看片播放神器,无需充值就可以体验vip待遇,账号密码已绿色,在线播放,还有更多的离线服务,更多的资源等你来,一键搜索!带你轻松免费观看最新伦理大片,一键下载缓存,给你高清流畅观影体验!

    媒体工具

    2017-11-02

  • 爱奇艺账号可以同时登陆吗 爱奇艺会员最多几个人使用
    爱奇艺账号可以同时登陆吗 爱奇艺会员最多几个人使用
    爱奇艺会员最多几个人使用?爱奇艺会员有一个家庭成员的设置这个可以让自己的家庭成员一起使用这个会员,浏览历史也能够不同,这个是其黄金会员的一个特权,那么如何共享呢,下面52z飞翔网小编将为大家讲解一下教程希望大家满意。

    媒体工具

    2017-05-27

热门游戏

下载声明 | 法律声明 | 版权声明 | 友情链接 | 发布软件 | 最新更新

本站为非盈利性网站,不接受任何广告。本站所有资源均由网友上传,如有侵权,请发邮件至 hnrshwl@163.com

晋ICP备2024046785号-1