您现在的位置: 365建站网 > 365文章 > 打造完美物体空间散射上

打造完美物体空间散射上

文章来源:365jz.com     点击数:182    更新时间:2008-07-26 19:50   参与评论

提示:这是个很妙的效果,说这句话是为了引起你的阅读兴趣,提供思路为主,以文字为例,更好的效果如把文字换成图片散射依照这个思路应当可以很完美的实现,同时,第三部分的BUG已经清除,所以我对本文章作下修改,谢谢各位的帮忙。

第一部分:同一坐标点散射,类似烟花效果

目标:大量文字从一个原点向四周散射

“大量”———————很显然,要用到duplicatemovieclip或者attachmovie,这里我选择attachmovie,至于

什么原因,以下我将阐述。
“散射”——————x,y偏移,结合Math.random()就是随机偏移.随机数的取值要有正且有负,因为散射是四面八方的X,Y偏移。
“一个原点”————这个效果的原理理解关键点就在这里,一个原点,换句话说就是将复制出来的MC坐标归于一个位置,这样任意一个x,y偏移值,播放起来就是一个散射,他不同于那种“不同坐标点散射”,即如果你把复制出来的坐标值随机设定,加上一个单纯的x,y偏移,MC会到处乱飞,画面会毫无规律。这一点一定要理解。

实现步骤:

1,随便做个带文字的MC,在库中linkage名为mymc

2,舞台时间轴代码:

LEFT = 0;
TOP = 0;
RIGHT = Stage.width;
BOTTOM = Stage.height;

maxspeed=25
maxmc=100
minmc=20

function randrange(min,max){
       var randomnum=Math.floor(Math.random()*(max-min+1))+min
       return randomnum
}//自定义函数,取两数之间的随机数

mcnum=randrange(minmc,maxmc)
trace(mcnum)//测试用
for(i=0;i<=mcnum;i++){
dupmc=attachMovie("mymc","mymc"+i,10+i)
trace(dupmc)//测试用
dupmc._x=200
dupmc._y=200//设定同一个坐标位置
dupmc._xscale=dupmc._yscale=randrange(0,100)
dupmc.speedx=randrange(-maxspeed,maxspeed)
dupmc.speedy=randrange(-maxspeed,maxspeed)//每一个复制出来的MC都会有一个随机x,y偏移(从自己

的负值到自身值,保证了坐标既有正也有负)
dupmc.onEnterFrame=function(){
       this._x+=this.speedx
       this._y+=this.speedy
        if (this._x < LEFT || this._x > RIGHT || this._y < TOP || this._y > BOTTOM) {
        this.removeMovieClip();
      }//end if
}
}

ok,代码结束,以下我谈谈我为什么不用duplicatemovieclip而用attachmovie
我们都知道把duplicatemovieclip或attachmovie前面加一个变量,很方便调整MC属性,书写也简单,但实

现方式有两种。
起初我是用duplicatemovieclip,前面设定了一个变量,即:
dupmc=duplicatemovieclip("mymc","mymc"+i,10+i)
trace(dupmc)//测试用
输出undefined,而换成attachmovie就能正常输出了
所以我选择了attachmovie,但说实在话,attachmovie也不是什么好鸟,MC一大,就会延迟进度,所以这是个问题,欢迎共同探讨,我就来抛砖引玉

效果欣赏  源码下载

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (182人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号