forked from: たまにちらり時計2

by umhr
...
@author mikelito33bdx
♥0 | Line 81 | Modified 2010-05-14 19:37:15 | MIT License
play

ActionScript3 source code

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

// forked from mikelito33bdx's たまにちらり時計2
package 
{
	import caurina.transitions.Tweener;
	import caurina.transitions.properties.*;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.TimerEvent;
	import flash.utils.Timer;
	import flash.text.TextField;
	import flash.text.TextFormat;
	
	/**
	 * ...
	 * @author mikelito33bdx
	 */
	 
	 [SWF(backgroundColor = 0x000000)]
	 
	public class Main extends Sprite {
		
		private var _mask:Sprite;
		private var _stage:Sprite;
		private var _date:Date;
		private var _seconds:String;
		private var _minutes:String;
		private var _hours:String;
		private var _tf:TextField;
		private var _font:TextFormat;
		
		public function Main():void {
									
			_stage = new Sprite();
			this.addChild(_stage);
			drawStage(0xFFFFFF);
			
			//書式
			_font = new TextFormat();
			_font.font = "_typewriter";
			_font.size = 30;
			_font.bold = true;
			
			//テキストフィールド
			_tf = new TextField();
			_tf.defaultTextFormat = _font;
			_tf.width = 200;
			_tf.x = stage.stageWidth / 2-75;
			_tf.y = stage.stageHeight / 2-15;
			_stage.addChild(_tf);
			
			//マスクの作成
			_mask = new Sprite();
			_mask.graphics.beginFill(0x000000);//何色でもいい
			_mask.graphics.drawCircle(0, 0, 100);
			_mask.graphics.endFill();
			_mask.x = stage.stageWidth/2;
			this.addChild(_mask);
			//マスクをかける
			_stage.mask = _mask;
			
			//タイマーイベント
			var myTimer:Timer = new Timer(1000);
			myTimer.addEventListener(TimerEvent.TIMER, onTimer);
			myTimer.start();
			
			this.addEventListener(Event.ENTER_FRAME, onEnter);
			
		}
		
		private var _flag:Boolean;
		
		private function onEnter(e:Event):void {
			
			//時計に必要なもの
			_date = new Date();
			_seconds = new String(_date.getSeconds());
			_minutes = new String(_date.getMinutes());
			_hours = new String(_date.getHours());
			//テキストフィールドに追加
			_tf.text = _hours + ":" + _minutes + ":" + _seconds;
			
			trace(_seconds);
			
			if (_date.getSeconds() == 0 && !_flag) {
				_flag=true;
				drawStage(0xFFFFFF * Math.random());
				trace("hoge");
			}
			
			if(_flag&&_date.getSeconds() !=0){
				_flag=false;
			}

		}
		
		private function drawStage(myColor:int):void{
			
			_stage.graphics.clear();
			_stage.graphics.beginFill(myColor);
			_stage.graphics.drawRect(0, 0, 465, 465);
			_stage.graphics.endFill();

			
		}
		

		private function onTimer(e:TimerEvent):void {
			
			var myScale:Number = Math.random() * 2;
			trace("time");
			DisplayShortcuts.init();
			Tweener.addTween(_mask, { _scale:myScale, time:0.5, transition:"liner" } );
			
			Tweener.addTween(_mask, { y:Math.random()*465, time:0.8, transition:"easeOutQuart" , onComplete:onComp } );
			
		}

		private function  onComp():void  {
	            trace("onComp!",_mask.y);
	      }
		
	}
	
}