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

打造完美物体空间散射下

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

第三部分:XML控制散射内容

目标:

我们先前散射出来的内容是固定的,在经典里前不久看到一篇帖子,说如何用XML控制显示内容,所以特来介绍。

思路:

简单的XML载入

步骤:

1,把第二部分中包含三祯的MC删除,重建一个MC,实例名为mymc,在内部拉一动态文本框,实例名为mytxt,变量名为content,这里要注意,这也就是我起先出现BUG的关键点所在,一定要设“嵌入字体”,把a-z,A-Z,0-9都嵌入进去,至于原因,蓝紫光解释得很清楚。

2,在MYMC内部时间轴加动作,我们荏苒采用祯循环方式变成
第一祯:定义初始变量,载入XML文件并取节点值

stop();

mymc._alpha = 0;
i = 1;
numOfText = 20;
minOfZ = 1;
maxOfZ= 120;

var myxml=new XML()
myxml.ignoreWhite=true
myxml.onLoad=function(suc){
       if(suc){
       gotoAndPlay(2);
             mylist=this.firstChild.childNodes
             
             
              }
       }

myxml.load("myxml.xml")

第二祯:主程序

function randrange(min,max){
       var randomnum=Math.floor(Math.random()*(max-min+1))+min
       return randomnum
}//自定义函数,取两数之间的随机数
duplicateMovieClip("mymc", i, 10+i);
this[i].x = randrange(-11,9);
this[i].y = randrange(-10,9)
this[i].z = random(maxOfZ)+1;//1——120之间的整数
this[i].dz = -4;
this[i].mytxt.text=mylist[i].attributes.content
this[i].onEnterFrame = function() {
       this.z += this.dz;
       if (this.z<minOfZ) {
              this.x = randrange(-11,9);
        this.y = randrange(-10,9)//这里的this也可以改为this[i]
              this.z = maxOfZ;//this.z<minOfZindex时,也就是MC到达极限透明度,X,Y,比例

时,此时他已经超出了舞台,要不间断播放,需要重新设定他的初值
       }
       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你也可以改,不过别太小

第三祯:条件判断

i++;
if (i>=mylist.length) {
       stop();
}else{
       gotoAndPlay(_currentframe-1);
}

注意点:载入延迟问题解决方案

第一祯代码我为什么要加个stop();,然后通过条件判断myxml.onLoad执行gotoAndPlay(2);?
还是一个载入延迟问题,参考 我的一篇帖子 ,和loadmovie差不多,如果我不加个STOP,影片就会从1到3毫无障碍地播放,由于XML载入的延迟性,在XML文件还没载入完毕之前(一般是一轮,从1到3播放完毕一遍的时间)所执行的程序里面根本无法取得节点,则mylist也将是NaN,那么紧跟的第二祯里面this[i].mytxt.text=mylist[i].attributes.content取不到值,文本内容会是undefined,也就是说不按我那样弄的话的直接后果将是所载入的MC中有一个文本内容为undefined。

欣赏地址:由于有XML,无法欣赏

源码下载

后续:我只是以文字形式具体讲解了散射特效,你可以把文字换成图片并用XML载入,鼠标控制空间移动,等等,需要我们共同去想

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

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

快速入口

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

其它栏目

· 建站教程
· 365学习

业务咨询

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

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

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