Compact Mirror forked from: Human Clock
forked from Human Clock (diff: 134)
「あ、あれ、時計どこだっけ?」 ポケットの中にはない。腕にもない。足元にもない。 ベッドの上にもない。机の上にもない。鞄の中にもない。 あと、探していないのは・・・ 時計といえば、腕時計。とっさに時計を見るように、 とっさに手鏡を見る動作をモチーフに作成しました。一発ねたですね。 以下のウェブサイトを参考にしました。 ActionScript入門Wiki@rsakane http://www40.atwiki.jp/spellbound/ ActionScript 3.0 コンポーネントリファレンスガイド http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/
ActionScript3 source code
/**
* Copyright hacker_johiroshi ( http://wonderfl.net/user/hacker_johiroshi )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/ehnP
*/
//
//「あ、あれ、時計どこだっけ?」
//
//ポケットの中にはない。腕にもない。足元にもない。
//ベッドの上にもない。机の上にもない。鞄の中にもない。
//あと、探していないのは・・・
//
//
//
//時計といえば、腕時計。とっさに時計を見るように、
//とっさに手鏡を見る動作をモチーフに作成しました。一発ねたですね。
//
//
//以下のウェブサイトを参考にしました。
//
//ActionScript入門Wiki@rsakane
//http://www40.atwiki.jp/spellbound/
//
//ActionScript 3.0 コンポーネントリファレンスガイド
//http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/
package {
import flash.display.Sprite;
//textField
import flash.text.TextField;
import flash.text.TextFormat;
//EventListenr
import flash.events.Event;
import flash.events.MouseEvent;
public class CompactMirror extends Sprite {
private var time:TextField;
public function CompactMirror() {
//鏡のふちの表示
var mirrorCase:Sprite = new Sprite;
mirrorCase.graphics.beginFill(0xF0E68C);
mirrorCase.graphics.drawCircle(240, 270, 120); //x, y, r
mirrorCase.graphics.endFill();
addChildAt(mirrorCase, 0);
//鏡の表示
var mirror:Sprite = new Sprite;
mirror.graphics.beginFill(0xF8F8FF);
mirror.graphics.drawCircle(240, 270, 100); //x, y, r
mirror.graphics.endFill();
addChildAt(mirror, 1);
//顔の表示
var head:Sprite = new Sprite;
head.graphics.beginFill(0xEEE8AA);
head.graphics.drawCircle(240, 290, 70); //x, y, r
head.graphics.endFill();
addChildAt(head, 2);
//時間の表示
var date:Date = new Date(); //時間の取得
time = createTextField(195, 250, 100, 100);
setFormatTime();
time.text = date.toLocaleTimeString(); //現地時間の取得、表示
addChildAt(time, 3); //何故か最前面に来ないので、無理矢理押し出しました
//指示文
var message:TextField = createTextField(200, 400, 200, 100);
//setFormat();
message.text = "Open Compact";
addChild(message);
//蓋の表示
var cover:Sprite = new Sprite;
cover.graphics.beginFill(0xF4A460);
cover.graphics.drawCircle(240, 270, 100); //x, y, r
cover.graphics.endFill();
addChildAt(cover, 4);
rip();
stage.addEventListener(MouseEvent.CLICK, openCompact);
}
//蓋を開ける
private function openCompact(event:MouseEvent):void
{
removeChildAt(4);
//蓋の表示
var cover:Sprite = new Sprite;
cover.graphics.beginFill(0xF4A460);
cover.graphics.drawCircle(240, 120, 100); //x, y, r
cover.graphics.endFill();
addChildAt(cover, 4);
}
//口の表示
private function rip():void {
graphics.lineStyle(2.0, 0x0);
graphics.moveTo(210, 350);
graphics.curveTo(240, 450, 270, 350);
}
//TextFieldの設定
private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var temp:TextField = new TextField();
temp.x = x;
temp.y = y;
temp.width = width;
temp.height = height;
return temp;
}
//TextFormatの設定
private function setFormatTime():void {
var temp:TextFormat = new TextFormat();
temp.font = "_typeWriter";
temp.color = 0xFF0000;
temp.size = 30;
time.defaultTextFormat = temp;
}
}
}