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、双曲线的拉链flash、flash曲线运动、拉链画双曲线flash、flash直线变曲线,以便于您获取更多的相关知识。
时间: 2024-10-31 02:06:41