用FLASH制作变幻的曲线
类别: Flash教程
Windows下的屏保程序变幻线,我想大家都不陌生,偶用纯as做了一个,让大家欣赏
思路:把变幻线看成是一些点在运动,这些点之间有连线。每个点的运动规律类似,从某点以一定速度的沿x、y方向做直线运动,如果此点超出左右边界,x方向的速度取反,如果此点超出上下边界,则y方向的速度取反。因为这些点并不显示,所以创建空影片作为点,并用画线函数连接这些点。
思路有了,我们开始编写程序
源码:
var dot_num = 6; if (!started) { // 调用复制函数复制点 duplicate_dot(); started = true; } onEnterFrame = function () { for (var n = 1; n<=dot_num; n++) { dot_move(this["dot"+n], this["dot"+n].xspeed, this["dot"+n].yspeed); } line_draw(); }; // 复制函数,并设置点的初始位置和速度 function duplicate_dot() { for (var n = 1; n<=dot_num; n++) { // 创建空影片作为点,实例名为dot1、dot2、dot3... createEmptyMovieClip("dot"+n, n); // 让这些点在场景中随机分布 this["dot"+n]._x = random(400); this["dot"+n]._y = random(300); // 设置这些点向x、y方向运动的速度 this["dot"+n].xspeed = random(20)+10; this["dot"+n].yspeed = random(20)+10; } } // 点的运动函数,obj为影片,xspeed,yspeed分别为x,y方向运动的速度 function dot_move(obj, xspeed, yspeed) { with (eval(obj)) { // 让影片运动 _x += xspeed; _y += yspeed; // 超出左右边界时,xspeed取反 if (_x>400) { _x = 400; xspeed = -xspeed; } if (_x<0) { _x = 0; xspeed = -xspeed; } // 超出上下边界时,yspeed取反 if (_y>300) { _y = 300; yspeed = -yspeed; } if (_y<0) { _y = 0; yspeed = -yspeed; } } } // 画线函数,连接各个点 function line_draw() { createEmptyMovieClip("line", 5000); with (line) { // 定义线的大小,颜色、透明度 lineStyle(1, 0xFF00FF, 100); // 画线的起点 moveTo(dot1._x, dot1._y); // 连接点dot1到dot2...dot10 for (var n = 2; n<=dot_num; n++) { lineTo(this["dot"+n]._x, this["dot"+n]._y); } // 连接到dot1,构成一个多边形 lineTo(dot1._x, dot1._y); } } |
把以上程序输入到flash MX的帧中,一个简单的变幻线效果就完成了。有兴趣的朋友可加入颜色、线型等变化。快来试试看吧!
- 上一篇: 用FLASH AS实现鼠标画圆的效果
- 下一篇: 动态MC按钮的制作教程
-= 资 源 教 程 =-
文 章 搜 索