当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash MX 编程深层次应用-高级特效(1)

Flash动画制作
Flash 3d效果精彩实例(5)
贺新年 制作五彩缤纷焰火动画
FlashMX2004中的XML应用之原理篇
制作一个骄艳的鲜花情人Flash贺卡
有趣 用Flash制作互动的小人
Flash制作鸡年新春动画贺卡
Flash MX 2004 UI组件系列教程(3)
Flash加载外部文件(5)
Flash MX 2004 UI组件系列教程(4)
Flash加载外部文件(2)
Flash加载外部文件(3)
一个最简便的代码实现任意数字和0的来回跳转
让Flash课件中测试题信手拈来
MX中如何实现swf文件的完美跳转
三分钟理解Flash中的级别关系
flash与ASP通信的几种方法
flashMX2004视频插件的应用教程
如何做好一个多人配合的flash项目
AS计算方面的错误
如何防止SWF文件被反编译

Flash动画制作 中的 Flash MX 编程深层次应用-高级特效(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 114 ::
收藏到网摘: n/a

第3章 ActionScript高级特效制作

3.1 堆栈特效(1)

    

本节的名字叫做堆栈特效,也就是说本节要讲解的内容不但要使用数组,而且要用堆栈来控制整个特效。我们将通过两个实例,深入地讲解堆栈在特效中的应用,程序有一定的深度,希望大家认真地学习。

3.1.1  递归法画方格线

Flash经过几年的发展现在已经具备了强大的编程功能,很多地方已经很像一个专业的编程软件,比如递归调用、堆栈的使用、队列的使用、广度遍历、深度遍历等,这些只有在专业编程软件中才出现的应用在Flash中已经出现。下面这段程序就是利用队列完成一个画方格的功能:

init = function () {

    // 创建一个新的文本框,同时清空它

    _root.createTextField("dongua", 1, 160, 340, 120, 20);

    dongua.text = "";

    this.clear();

    cc1 = Math.floor(Math.random()*256) << 6;

    cc2 = Math.floor(Math.random()*256) << 16;

 // 这里的(x,y)表示要画格子的中心点坐标,a代表宽度,c1c4代表4个颜色值

        

    table = new Array({x:200, y:200, a:256, c1:cc1, c2:cc2, c3:cc2*2, c4:cc1/4});

};

_root.init();

_root.onEnterFrame = function() {

    //这里的1024代表这些线分割的小方块数目

    if (table.length<1024 && dongua.text == "") {

             //取出一个节点然后再画十字交叉线

             t = table.shift();

             cc = Math.floor((2*t.c1+3*t.c2+4*