forked from: ColorClock

by yabuchany forked from ColorClock (diff: 32)
時間を色と回転の大きさと回転の加速で表した時計*です。
マウスのY座標に反応するようにしてみました。
♥0 | Line 84 | Modified 2009-10-24 15:39:36 | 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/8g5n
 */

// forked from yabuchany's ColorClock
/*時間を色と回転の大きさと回転の加速で表した時計*です。*/
// マウスのY座標に反応するようにしてみました。
package {
	import frocessing.display.*;
	//[SWF(width=600, height=400, frameRate="60")]
	[SWF(frameRate="60")]
	
	public class ColorClock2 extends F5MovieClip3DBmp {
		//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 ColorClock2() {
			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;
			
			angle+=s;
			x1=cx + (r * cos(radians(angle)));
			y1=cy + (r * sin(radians(angle)));
			
			noStroke();
			fill((s * 5), 99, 99, 40);
			rectMode(CENTER);
			translate(0,0,mouseY/2);
			//translate(0,0,s*3);
			ellipse(x1, y1,5, 5);
			
			r2=m * 1.5;
			angle2+=m;
			x2=cx2 + (r2 * cos(radians(angle2)));
			y2=cy2 + (r2 * sin(radians(angle2)));
			
			noStroke();
			fill(random(m * 2), 99, 99, 40);
			rectMode(CENTER);
			translate(0,0,mouseY/2);
			//translate(0,0,s*3);
			ellipse(x2, y2, 5, 5);
			
			r3=h * 1.5;
			angle3+=h;
			x3=cx3 + (r3 * cos(radians(angle3)));
			y3=cy3 + (r3 * sin(radians(angle3)));
			
			noStroke();
			fill(random(h * 5), 99, 99, 40);
			rectMode(CENTER);
			translate(0,0,mouseY/2);
			//translate(0,0,s*3);
			ellipse(x3, y3, 5, 5);
			
		}
		
		public function fadeToWhite():void {
			noStroke();
			fill(00,30);
			rectMode(CORNER);
			rect(0,0,width,height);
		}
	}
}