class Test { static var interval : haxe.Timer ; static var num = 16; static var row = 4; static function main() { var mc : flash.MovieClip = flash.Lib.current; var r : Array = new Array(); var g : Array = new Array(); var b : Array = new Array(); for (i in 0...num) { r[i] = 0x80; g[i] = 0x80; b[i] = 0x80; } interval= new haxe.Timer(50) ; interval.run = function() { mc.clear(); for (i in 0...num) { var x = (i%row)*50; var y = (i/row)*50; var z = i; mc.beginFill(r[i]*65536 + g[i]*256 + b[i]); mc.moveTo(x,y); mc.lineTo(x+50,y); mc.lineTo(x+50,y+50); mc.lineTo(x,y+50); mc.endFill(); r[i] += (if (Math.random() > 0.5) z else -z); g[i] += (if (Math.random() > 0.5) z else -z); b[i] += (if (Math.random() > 0.5) z else -z); if (r[i] > 0xFF) r[i] = 0xFF; if (r[i] < 0) r[i] = 0; if (g[i] > 0xFF) g[i] = 0xFF; if (g[i] < 0) g[i] = 0; if (b[i] > 0xFF) b[i] = 0xFF; if (b[i] < 0) b[i] = 0; } } } }