设为首页  加入收藏  联系我们 繁體中文  

黑客软件:

  漏洞扫描 | 木马间谍 | 加密解密 | 远程控制 | 破坏攻击 | 杀毒软件 | 防火墙类 | OICQ专区 | 黑客必备 | 常用工具 | 网吧攻击
文章中心:   最新资讯 | 黑客技术 | 电脑基础 | 菜鸟文摘 | 网络安全 | 网络技巧 | QQ技巧 | OQ空间代码 | 免费资源 | 编程世界 | 建站技术
素材源码:   论坛相关 | ASP源码 | CGI 源码 | NET 源码 | PHP 源码 | 酷站素材 | 字体素材 | 图片素材 | 友情发布 | 网页模版 | 建站软件
教程动画:   黑客教程 | 黑客编程 | 网站入侵 | 菜鸟教程 | 入侵教程 | 破解教程 | 电子书籍 | 网页制作 | 高级会员 | 综合教程 | 本站原创


   

  您当前的位置:中华隐士黑客联盟 -> 电脑基础 -> Flash技术攻略 -> 文章内容 [站内搜索]  

 
Flash MX 编程深层次应用-高级特效(5)
作者:风未起时  来源:中国站长学院  发布时间:2006-11-16 12:27:43  发布人:www.hack86.com
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.length)]+values[Math.floor(Math.random()*values.length)]+values[Math.floor(Math.random()*values.length)]+values[Math.floor(Math.random()*values.length)]+values[Math.floor(Math.random()*values.length)]+values[Math.floor(Math.random()*values.length)];

//产生变形

i = 1;

_root.onEnterFrame = function() {

    name = "dongua_shape_"+i;

    _root.createEmptyMovieClip(name, i+20);

    _root[name].beginFill(_root.hexColor, 3);

    _root[name].moveTo(_root.point1._x, _root.point1._y);

    _root[name].curveTo(_root.point2._x,_root.point2._y, _root.point3._x, _root.point3._y);

    _root[name].curveTo(_root.point4._x,_root.point4._y, _root.point5._x, _root.point5._y);

    _root[name].curveTo(_root.point6._x,_root.point6._y, _root.point7._x, _root.point7._y);

    _root[name].curveTo(_root.point8._x,_root.point8._y, _root.point1._x, _root.point1._y);

    _root[name].endFill();

   //移去以前的区域,仅保留最新的50个区域

    removeMovieClip(_root["dongua_shape_"+(i-50)]);

    i++;

};

这个特效最核心的地方就是每个独立区域的透明度不高,但是当两个透明度为3的地方叠加时,在叠加位置的透明度就变成了6n个透明叠加之后其相应位置透明效果就为3×n。由于区域是随机的,因此叠加的地方也是随机的。不但出来的效果随机了,而且画面还会有一种渐变的层次感,从而产生了超酷的效果!说句实在话,自己都不相信这么短的一段代码可以产生出这么酷的效果。效果如图3-12与图3-13所示。

      

3-12                                      3-13

在制作这个效果初期,先是将这些区域放在一个MC中,然后做了一个定时器,当时间一到就让这个MC的透明度降低直至为0,然后再重新开始新的效果。但是实际演示时,发现这种透明度渐变效果根本不连续,甚至连颜色看上去都有点变化,无法达到理想的效果。解决此问题时可以采用前面特效用到的把不同的区域放到不同的MC的办法,然后不断产生出新的区域,又同时消除以前的区域,保证在画面上只有固定个数的填充区域,一运行,效果非常理想。通过这个例子可以说明一个道理,就是编程在很多地方是相通的,在这个地方用到的思路也可以在另一个地方用到,由于核心思想不同,出来的效果也就不相同了。


[] [返回上一页] [打 印] [收 藏]
  [相关文章评论]    (评论内容只代表网友观点,与本站立场无关!) [更多评论...]
 

  QQ空间4个FLASH时钟..
黑色的个性flash时钟..
QQ空间FLASH模块:天..
QQ空间最新FLASH模板..
QQ空间FLASH模块:对..
QQ空间FLASH模块:经..
Flash Player11月出..
QQ空间周杰伦FLASH播..
3.0空间教程系列:使..
QQ空间FLASH模板:4款..


 
中华隐士黑客联盟
本站超级酷的Flash (不看会后悔的..
免费在线看的电影网站(一)
最新QQ空间4.0全屏版效果图!!
免费获得Q币的最新方法
黑客快速入门(强烈推荐)
不用木马,轻松万能偷盗QQ号码
揭秘远程破解盗窃QQ密码的各种方..
免费二级域名申请
18岁少女欲6000元卖处女身 救患血..
 
防止QQ和QQ币游戏币被盗的办法 12-03
养在深闺人未识:FU_Rootkit 12-03
黑客学堂:什么是社会工程学? 12-03
VB程序实现XP效果的界面 12-03
fport.vbs for XP/2003 12-03
保卫自己网站的胜利果实 12-03
SQL注入建立虚拟目录,免得找Web.. 12-03
搜索型注入的文章 12-03
如何用虚拟机安装Windows Vista系.. 12-03
通杀腾讯QCC所有商品免费拿! 12-03
 
关于本站 网站帮助 广告合作 下载声明 友情连接 网站地图 访客留言 论坛登录
〖中华隐士黑客联盟〗,Copyright © 2006-2010 WwW.Hack86.Com 闽ICP备:06023304号
站长:小质 QQ:771760,软件发布MAIL:Hack086@21cn.com