江西广告网

标题: Flash MX 编程深层次应用-高级特效(5) [打印本页]

作者: 中间人    时间: 2009-5-25 12:10
标题: Flash MX 编程深层次应用-高级特效(5)
3.3 虚幻特效(1)
     在Flash MX特效中,虚幻的影像、复杂的粒子系统、激情的火焰、跳动的波浪都属于一种虚幻的内容。一般来说,在矢量动画中是很难制作出这种效果的,但是Flash MX编程在绘图方面的加强,使这些效果的实现成为可能,下面将介绍两个这方面的例子。在Flash MX中仍然没有增加对3D的支持,所以对3D物体的操作只能靠程序来完成,在第三个实例中讲述了一个3D物体旋转的应用,它对广大程序员来说是一个极好的范例。  3.3.1  虚幻实境现在介绍一个程序技巧要求不高,但却要求编程人员有非凡想像力的特效——虚拟实境。这个特效原理非常简单,首先产生出一批用来控制的点,然后用这些点画出一个封闭的区域,然后以随机色、透明度为3的方式进行填充。在产生一批这样的区域后,将这些区域随机放置、叠加,就创造出一个真实而又虚幻的特效。请看下面的代码:  //在低分辨率下运算会快些,才能产生出朦胧美  _quality = "LOW";  //产生8个用来控制的点  for (i=1; i<=8; i  ) {      _root.createEmptyMovieClip("point" i, i 10);      _root["point" i]._x = Stage.width/2;      _root["point" i]._y = Stage.height/2;      //控制点的位置在正负5个点之内变化      _root["point" i].xVel = Math.floor(Math.random()*10)-5;      _root["point" i].yVel = Math.floor(Math.random()*10)-5;      _root["point" i].onEnterFrame = function() {               this._x  = this.xVel;               this._y  = this.yVel;        //这两句保证控制点在超出视野时就要回头反向移动               this._x<0 || this._x>Stage.width ? this.xVel *= -1 : this.xVel;               this._y<0 || this._y>Stage.height ? this.yVel *= -1 : this.yVel;      };  }  //定义随机颜色  values = new Array("0", "2", "4", "6", "8", "A", "C", "D");  _root.hexColor="0x" values[Math.floor(Math.random()*values.l




欢迎光临 江西广告网 (http://bbs.jxadw.com/) Powered by Discuz! X3.2