In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

不正確時計

不正確な時計です。
本当の時間の前後5分以内を示します。
Get Adobe Flash player
by awef 21 Apr 2009
/**
 * Copyright awef ( http://wonderfl.net/user/awef )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/rZVN
 */

// forked from awef's flash on 2009-03-18
//不正確な時計です。
//本当の時間の前後5分以内を示します。
package
{
    import flash.display.Sprite;
    
    public class main extends Sprite
    {
        function main()
        {
            stage.addChild(new clock(stage.stageWidth / 2, stage.stageHeight / 2, 128));
        }
    }
}

import flash.display.Sprite;

class clock extends Sprite
{
    private var r:uint;
    private var gap : int;
        
    function clock(arg_x:int, arg_y:int, arg_r:uint)
    {
        x = arg_x;
        y = arg_y;
        r = arg_r;
        
        gap = -5 + Math.random() * 10;
        
        alpha = 0.5;
        
        var tmp:Sprite;
        
        tmp = new Sprite();
        tmp.graphics.lineStyle(2, 0x000000);
        tmp.graphics.drawCircle(0, 0, r);
        addChild(tmp);
        
        tmp = new Sprite();
        tmp.graphics.beginFill(0x000000);
        tmp.graphics.drawRect(0 - 1, 0, 2, -r / 10 * 9);
        tmp.graphics.endFill();
        tmp.name = "s";
        addChild(tmp);
        
        tmp = new Sprite();
        tmp.graphics.beginFill(0x000000);
        tmp.graphics.drawRect(0 - 2, 0, 4, -r / 10 * 9);
        tmp.graphics.endFill();
        tmp.name = "m";
        addChild(tmp);
        
        tmp = new Sprite();
        tmp.graphics.beginFill(0x000000);
        tmp.graphics.drawRect(0 - 2, 0, 4, -r / 10 * 8);
        tmp.graphics.endFill();
        tmp.name = "h";
        addChild(tmp);
        
        addEventListener(Event.ENTER_FRAME, frame);
    }
    
    private function frame(e:Event):void
    {
        var d:Date = new Date();
        getChildByName("s").rotationZ = d.seconds * 6;
        getChildByName("m").rotationZ = (d.minutes + gap) * 6;
        getChildByName("h").rotationZ = d.hours % 12 * 30 + d.minutes / 2;
    }
}