Flash as教程:文字散射效果
2008-07-03 11:25:20 来源:WEB开发网其中,a,b是坐标系中随机的一个点,它的x坐标为a, y坐标为b, c是一个递增值。
那现在推算下是不是无论该点在哪个象限内,都可以达到放射的目的呢?
在第一象限:
a>0,b>0,c递增———X坐标不断增加,同时Y坐标也不断增加———放射
在第二象限:
a<0,b>0,c递增———X坐标不断递减,同时Y坐标不断增加———放射
在第三象限:
a<0,b<0,C递增———X坐标不断递减,同时Y坐标也不断递减———放射
在第四象限:
a>0,b<0,c递增———X坐标不断增加,同时Y坐标不断递减———放射
思路:
首先,在限定范围内(最好小一点,为他的散射留出更多空间,这样会觉得字从很深的地方飘来,
以下我限定的是-10——9),为复制的MC设定一个随机位置,这就相当于我上面所举例子中的a和b,他们
其实是个坐标初值。
然后,要达到放射效果,还需要一个递增的正变量,即c,
所以我打了个字,转换成了MC,再次转换,命名为mymc,并延长至第3祯,新建一AS层。
为了让要出现的东西依次出现(既可以体现节奏感,又可以防止文字重叠现象),我选择祯循环的编程方式。
第一祯:设一些要用到的变量初值
mymc._alpha = 0;
i = 1;
numOfText = 20;
minOfZ = 1;
maxOfZ= 120;
第二祯:主程序
function randrange(min,max){
var randomnum=Math.floor(Math.random()*(max-min+1))+min
return randomnum
}//自定义函数,取两数之间的随机数
duplicateMovieClip("mymc", i, i);
this[i].x = randrange(-11,9);
this[i].y = randrange(-10,9)//我选择的初始坐标范围是-10到9
this[i].z = random(maxOfZ)+1;//1——120之间的整数
this[i].dz = -2;
this[i].gotoAndStop(random(this[i]._totalframes)+1);
this[i].onEnterFrame = function() {
this.z += this.dz;//做加速运动
if (this.z this.x = randrange(-11,9);
this.y = randrange(-10,9)//这里的this也可以改为this[i]
this.z = maxOfZ;//this.z
时,此时他已经超出了舞台,要不间断播放,需要重新设定他的初值
}
this.pers =600/this.z;//由于每次减2,所以this.z最小值为2,因为再减2就为0了,小于1
this._x = this.x*this.pers;
this._y = this.y*this.pers;//this.pers会越逐渐递增
this._xscale = this._yscale=this.pers;
this._alpha = 1000/this.z;//这里的1000你也可以改,不过别太小
};
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
- ››asp获取毫秒数
- ››asp.net报“INSERT INTO 语句的语法错误解决
更多精彩
赞助商链接