forked from: forked from: ColorClock2

by yabuchany forked from forked from: ColorClock2 (diff: 37)
時間を色と回転の大きさと回転の加速で表してみました。
♥0 | Line 87 | Modified 2009-10-24 00:26:00 | MIT License
play

ActionScript3 source code

/**
 * Copyright yabuchany ( http://wonderfl.net/user/yabuchany )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/fqJ6
 */

// forked from yabuchany's forked from: ColorClock2
// forked from yabuchany's ColorClock
/*時間を色と回転の大きさと回転の加速で表してみました。*/
package {
	import frocessing.display.F5MovieClip2DBmp;
	
	
	//[SWF(width=600, height=400, frameRate="60")]
	[SWF(frameRate="60")]
	
	public class ColorClock5 extends F5MovieClip2DBmp {
		//private var stage_width:Number  = 600;
		//private var stage_height:Number = 400;
		private var x1:Number;
		private var y1:Number;
		private var x2:Number;
		private var y2:Number;
		private var x3:Number;
		private var y3:Number;
		private var cx:Number;
		private var cy:Number;
		private var cx2:Number;
		private var cy2:Number;
		private var cx3:Number;
		private var cy3:Number;
		private var angle:Number;
		private var angle2:Number;
		private var angle3:Number;
		private var r:Number;
		private var r2:Number;
		private var r3:Number;
		
		public function ColorClock5() {
			super();
			
		}
		
		public function setup():void {
			colorMode(HSB, 100);
			background(0);
			
			cx=width / 2 + 100;
			cy=height / 2;
			cx2=width / 2;
			cy2=height / 2;
			cx3=width / 2 - 100;
			cy3=height / 2;
			
			angle=0;
			angle2=0;
			angle3=0;
			
			r=0;
			r2=0;
			r3=0;
		}
		
		public function draw():void {
			var s:Number=second();
			var m:Number=minute() + 3 / 60.0;
			var h:Number=hour() % 12 + m / 60.0;
			//fadeToWhite();
			if( isMousePressed )
				background( 0 );
			r=s * 1.5;
			r+=s;
			
			angle+=s;
			x1=cx + (r * cos(radians(angle)));
			y1=cy + (r * sin(radians(angle)));
			
			noStroke();
			fill((s * 5), 99, 99, 40);
			fill(random(s * 5), 99, 99, s);
			rectMode(CENTER);
			rotate(r);
			rect(x1+s, y1, 5, 5);
			
			r2=m * 1.5;
			r2+=m;
			angle2+=m;
			x2=cx2 + (r2 * cos(radians(angle2)));
			y2=cy2 + (r2 * sin(radians(angle2)));
			
			noStroke();
			fill(random(m * 2), 99, 99, m);
			rectMode(CENTER);
			//rect(x2+m, y2, m, m);
			rotate(r2);
			rect(x2+m, y2, 10, 10);
			
			r3=h * 1.5;
			r3+=h;
			angle3+=h;
			x3=cx3 + (r3 * cos(radians(angle3)));
			y3=cy3 + (r3 * sin(radians(angle3)));
			
			noStroke();
			fill(random(h * 5), 99, 99, s);
			rectMode(CENTER);
			rotate(r3);
			rect(x3+h, y3, 15, 15);
			
		}
		
		public function fadeToWhite():void {
			noStroke();
			fill(00,30);
			rectMode(CORNER);
			rect(0,0,width,height);
		}
	}
}