ColorClock

by yabuchany
時間を色と回転の大きさと回転の加速で表した時計*です。
♥0 | Line 81 | Modified 2009-10-24 00:27:40 | 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/swrJ
 */

/*時間を色と回転の大きさと回転の加速で表した時計*です。*/
package {
	import frocessing.display.F5MovieClip2DBmp;


	//[SWF(width=600, height=400, frameRate="60")]
	[SWF(frameRate="60")]

	public class ColorClock 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 ColorClock() {
			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);
			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);
			ellipse(x2, y2, 2, 2);

			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);
			ellipse(x3, y3, 2, 2);

		}

		public function fadeToWhite():void {
			noStroke();
			fill(00,30);
			rectMode(CORNER);
			rect(0,0,width,height);
		}
	}
}

Forked