快速业务通道

轻松实现Flash动态背景(3)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-15

 三、随机跑动的箭头

  这种效果是利用随机函数控制由左向右移动的MC的位置、大小和透明度来实现的。
原文件下载学习  首先,制作一个任意形状的图形符号(graphic)命名为basic_g,这里为了示意我们简单做了一个“>”符号,你可以仔细地绘制一个漂亮的箭头,效果会更好。

  再新建一个电影剪辑(MovieClip)命名为basic_m,将刚才的图形符号basic_g拖入(坐标0,0)。在第20帧建立关键帧(这个帧数不是随便设置的,我将在后面的AS中进一步解释),向右水平拖动图形符号至合适的位置。从第1帧到第20帧创建motion动画,再将第5帧和第15帧创建为关键帧(选中后按F6键),选中第1帧和第20帧中的图形符号,将不透明度改为0%。这样我们就创建了一个渐显渐隐向右运动的MC。

  再新建一个电影剪辑命名为basic_a,将刚才做好的basic_m拖入(坐标0,0),并将其inctance name(实例名)命名为obj,以便在AS对其进行控制,在第二帧创建内容帧(快捷键F5)。
  在basic_a中新建一层,在第1帧中捆绑下面的AS,这是这个效果的核心部分。

  if (i<=20) {
/*
这里的数字20与前面提到的basic_m的帧数是相同的,或者你也可以设成帧数的整数倍,由于下面的复制语句中的MC的深度是由 i 决定的,也就是说当第20个MC复制完成后,又将从1开始,这样前面复制的深度为1的MC将被覆盖掉,而这时也正好过去了20帧,MC已经完成一个播放过程。如果两数不相等就会出现MC还没播放完成就消失了或播放到第二次的某一段时MC消失的情况。
*/

    duplicateMovieClip("obj", i, i);
/*
复制语句,语法为:
duplicateMovieClip(target,newName,depth);
target:被复制的MC的名字
newName:复制出的MC的名字
depth:复制出的MC的深度
如果深度相同,那么新的MC将覆盖掉老的MC
*/

    eval(i)._x = random(250);
/*
设置MC的x坐标为0-250的随机数
(上限约为fla文件宽度减去basic_m中basic_g走过的距离)
*/

    eval(i)._y = random(90); //设置MC的y坐标为0-90的随机数(上限略大于fla文件的高度)
    tint = random(50)+50; //自定义变量tint来保存一个50-100的随机数

    eval(i)._xscale = tint;
    eval(i)._yscale = tint;
    eval(i)._alpha = tint;
/*
设置MC的x、y比例及透明度为相等的数值,让MC大小比例的变化与透明度的变化成正比,这样看上去有层次感。
*/

    i++;
  } else {
    i = 1;
  }

  将第2帧也设为关键帧(快捷键F6),捆绑下面的AS:
  
gotoAndPlay(1);
  回到场景,将basic_a拖入,放在左上角(注意要刚好超出场景范围)。OK,现在按下Ctrl+Enter测试一下,够炫吧。
关键词:背景

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号