|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
第3章 ActionScript高级特效制作
3.1 堆栈特效(1)
本节的名字叫做堆栈特效,也就是说本节要讲解的内容不但要使用数组,而且要用堆栈来控制整个特效。我们将通过两个实例,深入地讲解堆栈在Flash特效中的应用,程序有一定的深度,希望大家认真地学习。 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代表宽度,c1~c4代表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*t.c3)/6); _root.lineStyle(2, cc, 100); //用两个点的宽度,cc的颜色值,画出两条交叉的十字架线 _root.moveTo(t.x-t.a/2, t.y); _root.lineTo(t.x t.a/2, t.y); |
|