リプタクのもう覚えられません
Google
Web サイト内
topmemo ▶ キッチンタイマーver1.0サンプル

ActionScript

キッチンタイマーver1.0サンプル

キッチンタイマーのサンプル。

JavaScriptを有効にし、最新のFlashPlayerをインストールお願いしますGet Adobe Flash player


【ActionScript3.0 サンプルソース】

var inputTime:Number;//入力時間
var endTime:Number;//終了時間
var lastTime:Number;//残り時間
var oto:Sound = new Sound();//サウンドオブジェクト生成
var oto_channel:SoundChannel;//サウンドチャンネル生成
oto.load(new URLRequest("aram.mp3"));//mp3のURLロード
removeChild(stop_bt);//停止ボタン表示リストから削除

//updownボタンでテキスト入力
up1_bt.addEventListener(MouseEvent.CLICK,up1_f);
function up1_f(e:MouseEvent):void {
	tf1.text = String((Number(tf1.text) + 1)%10);
}
down1_bt.addEventListener(MouseEvent.CLICK,down1_f);
function down1_f(e:MouseEvent):void {
	if (tf1.text == "0") {
		tf1.text = "9";
	} else {
		tf1.text = String(Number(tf1.text) - 1);
	}
}
up2_bt.addEventListener(MouseEvent.CLICK,up2_f);
function up2_f(e:MouseEvent):void {
	if (tf2.text == "5") {
		tf2.text = "0";
	} else {
		tf2.text = String(Number(tf2.text) + 1);
	}
}
down2_bt.addEventListener(MouseEvent.CLICK,down2_f);
function down2_f(e:MouseEvent):void {
	if (tf2.text == "0") {
		tf2.text = "5";
	} else {
		tf2.text = String(Number(tf2.text) - 1);
	}
}
up3_bt.addEventListener(MouseEvent.CLICK,up3_f);
function up3_f(e:MouseEvent):void {
	tf3.text = String((Number(tf3.text) + 1)%10);
}
down3_bt.addEventListener(MouseEvent.CLICK,down3_f);
function down3_f(e:MouseEvent):void {
	if (tf3.text == "0") {
		tf3.text = "9";
	} else {
		tf3.text = String(Number(tf3.text) - 1);
	}
}
up4_bt.addEventListener(MouseEvent.CLICK,up4_f);
function up4_f(e:MouseEvent):void {
	if (tf4.text == "5") {
		tf4.text = "0";
	} else {
		tf4.text = String(Number(tf4.text) + 1);
	}
}
down4_bt.addEventListener(MouseEvent.CLICK,down4_f);
function down4_f(e:MouseEvent):void {
	if (tf4.text == "0") {
		tf4.text = "5";
	} else {
		tf4.text = String(Number(tf4.text) - 1);
	}
}

//スタートボタン
start_bt.addEventListener(MouseEvent.CLICK,start_f);
function start_f(e):void {
	inputTime = Number(tf1.text) + Number(tf2.text)*10 + Number(tf3.text)*60 + Number(tf4.text)*600;//入力秒数取得

	if (inputTime != 0) {
		endTime = getTimer() + inputTime * 1000;//終了時間
		removeChild(start_bt);//表示リストから削除
		addChild(stop_bt);//表示リストに追加
		addEventListener(Event.ENTER_FRAME, time_f);
	} else {//入力が0秒だったら1時間特別ルール
		inputTime = 60*60;
		endTime = getTimer() + inputTime * 1000;//終了時間
		removeChild(start_bt);//表示リストから削除
		addChild(stop_bt);//表示リストに追加
		addEventListener(Event.ENTER_FRAME, time_f);
	}
	if (oto_channel != null) {
		oto_channel.stop();
	}
}

//カウント
function time_f(e:Event):void {
	lastTime = (endTime - getTimer())/1000;
	if (lastTime > 0) {
		tf1.text = String(Math.floor(lastTime%60%10));//1桁表示
		tf2.text = String(Math.floor(lastTime%60/10));//2桁表示
		tf3.text = String(Math.floor(lastTime/60%10));//3桁表示
		tf4.text = String(Math.floor(lastTime/60/10));//4桁表示
	} else {//0以下の処理

		if (repeat_bt.selected == false) {//繰り返ししない
			tf1.text = String(Math.floor(inputTime%60%10));//1桁表示
			tf2.text = String(Math.floor(inputTime%60/10));//2桁表示
			tf3.text = String(Math.floor(inputTime/60%10));//3桁表示
			tf4.text = String(Math.floor(inputTime/60/10));//4桁表示
			removeChild(stop_bt);
			addChild(start_bt);
			oto_channel = oto.play();//再生
			removeEventListener(Event.ENTER_FRAME, time_f);

		} else {//繰り返す場合
			oto_channel = oto.play();//再生
			endTime = getTimer() + inputTime * 1000;//終了時間
		}
	}
}

//一時停止ボタン
stop_bt.addEventListener(MouseEvent.CLICK, stop_f);
function stop_f(e:MouseEvent):void {
	removeChild(stop_bt);
	addChild(start_bt);
	removeEventListener(Event.ENTER_FRAME, time_f);
	if (oto_channel != null) {
		oto_channel.stop();
	}
}



//updownボタンで一時停止
up1_bt.addEventListener(MouseEvent.CLICK,stop2_f);
up2_bt.addEventListener(MouseEvent.CLICK,stop2_f);
up3_bt.addEventListener(MouseEvent.CLICK,stop2_f);
up4_bt.addEventListener(MouseEvent.CLICK,stop2_f);
down1_bt.addEventListener(MouseEvent.CLICK,stop2_f);
down2_bt.addEventListener(MouseEvent.CLICK,stop2_f);
down3_bt.addEventListener(MouseEvent.CLICK,stop2_f);
down4_bt.addEventListener(MouseEvent.CLICK,stop2_f);
function stop2_f(e:MouseEvent):void {
	if (stop_bt.root) {
		removeChild(stop_bt);
		addChild(start_bt);
		removeEventListener(Event.ENTER_FRAME, time_f);
	}
	if (oto_channel != null) {
		oto_channel.stop();
	}
}

//リセットボタン
reset_bt.addEventListener(MouseEvent.CLICK, reset_f);
function reset_f(e:MouseEvent):void {
	removeEventListener(Event.ENTER_FRAME, time_f);
	tf1.text = tf2.text = tf3.text = tf4.text = "0";
	if (stop_bt.root) {
		removeChild(stop_bt);
		addChild(start_bt);
	}
	if (oto_channel != null) {
		oto_channel.stop();
	}
}
last update 2009.6.9
参考・出典等
「特に無し」

▲page top

topmemogalleryblogtestaboutlinksmail
Copylight(C)2008-2009 Riptac. All Rights Reserved.