宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

  本教程向朋友介绍利用FLASH制作数字天地特效,教程比较简单,里面涉及到了AS代码,不过实用性很强,希望对大家有所帮助!

  一、算法分析

  每个数字的运动轨迹是的曲线,曲线的方程为x=sini),实际上是把普通的正弦曲线旋转了90度,把原来的y坐标转换成了x坐标。数字num的x坐标,表示如下:num._x=Math.sini),通过复制函数复制多个数字,为使每个数字的轨迹不同,数字的x坐标乘上一个随机值x,表示如下:num._x=x*Math.sini)。数字的y坐标也取随机值y,表示如下:num._y-=y。这样数字从坐标原点沿曲线向上运动,为使数字可从不同的方向运动,把x坐标再乘上一个-1或1的随机值c,表示如下:num._x=c*a*Math.sini)。  

FLASH如何制作数字天地特效-风君子博客

  二、制作过程

  1、打开flashMX2004,新建一400px*200px的文档,背景为白色,帧速率为12fps。

  2、按CTRL+F8,新建一MC,在此MC中,建一动态文本,字号为18,字体为Impact,颜色为#339900,变量名为myNum。新建一层,输入下列AS:

  复制代码

  代码如下:

  myNum=random10);

  并插入一帧,让其循环,这样动态文本就能显示从0到9的随机数字。  

FLASH如何制作数字天地特效-风君子博客

  3、返回主场景,按CTRL+L打开库,从库中拖出随机数字的MC,实例名设为num,在此MC上输入下列AS

  复制代码

  代码如下:

  onClipEvent load) {

  var n = 0;//复制影片的数目

  var i = 0;//弧度

  var x = random150)+1;//曲线的宽度随机

  var y = random5)+1;//MC的y坐标递减量

  var c = Math.pow-1, random2));//-1的0或1次方,即随机的1或-1值

  }

  onClipEvent enterFrame) {

  if _name != "num") {

  _x = x*c*Math.sini += 0.1)+200;

  _y -= y;//设置数字的坐标,起始x坐标为200,y坐标和num相同。

  if _y<0) {

  this.removeMovieClip);//如果超出场景,删除MC

  }

  } else {

  n = n>50) ? 0 : n+1;//限定MC的数目为50

  this.duplicateMovieClip"num"+n, n);//复制MC

  mc = _parent["num"+n];//获得MC的实例名

  mc._xscale = mc._yscale=random80)+10;//MC的大小随机

  }

  }

  4、新建一层,按CTRL+R导入位图,按CTRL+B打散位图,选取位图中间的在石块,按F8转换为MC,实例名为bg。并在帧中输入

  复制代码

  代码如下:

  bg.swapDepths100);

  把此MC的深度设为100,这样数字就好像从石块底部不断冒出,形成虚幻的效果。