ColorClock
時間を色と回転の大きさと回転の加速で表した時計*です。
♥0 |
Line 81 |
Modified 2009-10-24 00:27:40 |
MIT License
archived:2017-03-20 07:49:47
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);
}
}
}