flash制算数儿字天和地特效

更新时间:15-10-23 22:26 热度:353
 

本教程是向脚本代码之家的朋友绍介利用flash制算数儿字天和地特效,教程比较简单,里边牵涉到到达as代码,然而实用性很强,引荐过来,期望对大家有所帮忙!

一、算法剖析

  每个数码的运动轨迹是如图2的曲线,曲线的方程为x=sin(i),其实是把平常的的正弦曲线旋转了90度,把原来的y坐标改换成了x坐标。数码num的x坐标,表达如下所述:num._x=math.sin(i),经过复制函数复制多个数码,为使每个数码的轨迹不一样,数码的x坐标乘上一个随机值x,表达如下所述:num._x=x*math.sin(i)。数码的y坐标也取随机值y,表达如下所述:num._y-=y。这么数码从坐标原点沿曲线上进运动,为使数码可从不一样的方向运动,把x坐标再乘上一个-1或1的随机值c,表达如下所述:num._x=c*a*math.sin(i)。

15102322261670329427164 flash制算数儿字天和地特效

二、制造过程

  1、敞开flashmx2004,新建一400px*200px的文档,环境为白的颜色,帧效率为12fps。
  
  2、按ctrl+f8,新建一mc,在此mc中,建动不动态文本,字号为18,字体为impact,颜色为#339900,变量名为mynum。新建一层,输入下面所开列as:

复制代码

代码如下所述:

mynum=random(10);

  并插进去一帧,让其循环,这么动态文本就能显露从0到9的随机数码。如图3所示

15102322261740655900251 flash制算数儿字天和地特效

  3、回返主场景,按ctrl+l敞开库,从库中拖出随机数码的mc,实际的例子名设为num,在此mc上输入下面所开列as

复制代码

代码如下所述:

onclipevent (load) {
var n = 0;//复制影片儿的数量
var i = 0;//弧度
var x = random(150)+1;//曲线的宽度随机
var y = random(5)+1;//mc的y坐标递降量
var c = math.pow(-1, random(2));//-1的0或1次方,即随机的1或-1值
}
onclipevent (enterframe) {
if (_name != “num”) {
_x = x*c*math.sin(i += 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=random(80)+10;//mc的体积随机
}
}

   4、新建一层,按ctrl+r导入位图,按ctrl+b打散位图,选取位图半中腰的在石头,按f8改换为mc,实际的例子名为bg。并在帧中输入

复制代码

代码如下所述:

bg.swapdepths(100);

   把此mc的深度设为100,这么数码就好似从石头底部不断冒出,形成虚幻的效果。

  本例的视物感觉冲击力极强,假如加到你的网页中,会使大家对你的网页的专业性刮目相待。把手续稍加改正,即可做出多种随机特效,这留给大家去完成。