<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"> <s:layout> <s:BasicLayout/> </s:layout> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <!--[CDATA[ import mx.core.UIComponent; public var lineNum:Number=20; public var Parray:Array=new Array(); public var start:Boolean=false; public var xv:Array=new Array(); public var yv:Array=new Array(); public var xp:Array=new Array(); public var yp:Array=new Array(); public var xt:Array=new Array(); public var yt:Array=new Array(); public var time:Timer=new Timer(600); public var lineArray:Array=new Array(); public var index:Number=0; public var lineLength:Number=15; public var color:Array=new Array(); public function init():void { for(var i:Number=0;i<lineNum;i++) { xv.push(0); yv.push(0); xp.push(0); yp.push(0); xt.push(0); yt.push(0); color.push(Math.random()*0xffffff); } time.addEventListener(TimerEvent.TIMER,CreatePoint); time.start(); } public function getPoint():Point { return Point(new Point(Math.random()*this.width,Math.random()*this.height)); } public function CreatePoint(evt:TimerEvent):void { if(start==false) { this.addEventListener(Event.ENTER_FRAME,speed); start=!start; } for(var i:Number=0;i<lineNum;i++) { Parray[i]=getPoint(); } } public function speed(evt:Event):void { for(var i:Number=0;i<lineNum;i++) { xv[i] = xv[i] + (Parray[i].x - xp[i]) * 1.500000E-001; yv[i] = yv[i] + (Parray[i].y - yp[i]) * 1.500000E-001; xv[i] = xv[i]* 9.000000E-001; yv[i] = yv[i] * 9.000000E-001; xt[i]=xp[i]; yt[i]=yp[i]; xp[i] = xp[i] + xv[i]; yp[i] = yp[i] + yv[i]; darwLine(xt[i],yt[i],xp[i],yp[i],i); } } public function darwLine(startX:Number,startY:Number,endX:Number,endY:Number,i:Number):void { var compLine:UIComponent=new UIComponent(); var line : Shape = new Shape(); line.graphics.lineStyle(10, color[i], 1); line.graphics.moveTo(startX, startY); line.graphics.lineTo(endX, endY); compLine.addChild(line); this.addElement(compLine); if(lineArray.length>=lineLength) { if(index==lineLength) { index=0; } this.removeElement(lineArray[index]); lineArray[index++]=compLine; } else { lineArray.push(compLine); } } ]]--> </fx:Script> </s:Application> 这是我根据“一批老外的超牛25行代码参赛作品的源文件”中最短的一个项目制作而成,原来用as,我用flex。