package { import flash.display.*; import flash.text.*; import flash.net.URLRequest; import flash.media.*; import flash.events.TimerEvent; import flash.utils.Timer; import flash.events.Event; import flash.events.MouseEvent; import flash.display.Bitmap; [SWF(backgroundColor="#ffffff", width="180", height="180", frameRate="30")] public class asclock extends Sprite { private var textField:TextField; private var bgcolors:Array = [0xffffff,0xffcccc,0xccffcc,0xccccff]; private var iColor:int = 0; private var wallpaper:Loader; private var mojiban:Loader; private var r_mojiban:Loader; private var hari1:Loader; private var hari2:Loader; private var hari3:Loader; // // outer contents // private var reverseclock:Boolean = true; private var m_url:String = "asclock/"; private var wallfile:String = m_url + "wall180.jpg"; private var mojifile:String = m_url + "mojiban180.png"; private var r_mojifile:String = m_url + "mojibanR180.png"; private var h1file:String = m_url + "byosin.png"; private var h2file:String = m_url + "funsin.png"; private var h3file:String = m_url + "jisin.png"; private var soundpath:String = m_url + "cym.mp3"; private var sound_obj:Sound = new Sound(); private function setone():void{ textField.text = "dlroW olleH"; } private function setDclock():void{ var time:Date = new Date(); var ssec:int = time.getSeconds(); var smin:int = time.getMinutes(); var shour:int = time.getHours(); var sday:int = time.getDate(); var smonth:int = time.getMonth()+1; setMclock(smonth,sday,shour,smin,ssec); //rotCircle(mojiban,ssec); if(reverseclock == false){ if(mojiban.visible == false){ mojiban.visible = true; r_mojiban.visible = false; } hari1.rotation = (ssec*6)-90; hari2.rotation = (smin*6)-90; hari3.rotation = ((shour*30)+(smin*0.5))-90; }else{ if(mojiban.visible = true){ mojiban.visible = false; r_mojiban.visible = true; } hari1.rotation = (360-((ssec*6)))-90; hari2.rotation = (360-((smin*6)))-90; hari3.rotation = (360-((shour*30)+(smin*0.5)))-90; } if(smin == 0 && ssec == 0){ // O'clock if(shour > 12){ sound_obj.play(0,shour-12); }else{ sound_obj.play(0,shour); } } } private function dclock(event:TimerEvent):void { setDclock(); //setRotate(); } private function setMclock(smonth:int,sday:int,shour:int,smin:int,ssec:int):void{ //textField.width = 200; textField.text = " "+u_t(smonth)+"月"+u_t(sday)+"日"+u_t(shour)+"時"+u_t(smin)+"分"+u_t(ssec)+"秒"; } private function u_t(n:int):String{ var m:String = ""; if(n < 10){ m = "0"+n; }else{ m = ""+n; } return(m); } private function setRotate():void{ // 現在未使用 iColor = iColor+1; if(iColor > (bgcolors.length-1)){ iColor = 0; } textField.textColor = bgcolors[iColor]; } private function rotate(evt:MouseEvent):void{ if(reverseclock == true){ reverseclock = false; }else{ reverseclock = true; } sound_obj.play(0,1); } private function init():void{ //壁紙ローダー wallpaper = new Loader(); wallpaper.x = 0; wallpaper.y = 0; wallpaper.visible = true; wallpaper.load(new URLRequest(wallfile)); addChildAt(wallpaper,0); // テキスト初期化 textField = new TextField(); textField.background = false; textField.textColor = bgcolors[0]; textField.x = 0; textField.y = 0; textField.width = 180; textField.height = 180; textField.text = "Hello World"; addChildAt(textField,1); //textField.buttonMode = true; textField.addEventListener(MouseEvent.CLICK, rotate, false, 0, true); //文字盤 mojiban = new Loader(); mojiban.x = 0; mojiban.y = 0; /* var holder:Sprite = new Sprite(); holder.addChild(mojiban); holder.x = mojiban.x = 0; holder.y = mojiban.y = 0; addChild(holder); // ←イベント処理の方でaddChild var content:DisplayObject = mojiban; content.x = -content.width*0.5; content.y = -content.height*0.5; */ mojiban.visible = false; // 二者択一(A) // mojiban.contentLoaderInfo.addEventListener(Event.INIT, initialize, false, 0, true); // 二者択一(B) mojiban.load(new URLRequest(mojifile)); addChildAt(mojiban,2); //反転文字盤 r_mojiban = new Loader(); r_mojiban.x = 0; r_mojiban.y = 0; r_mojiban.visible = true; r_mojiban.load(new URLRequest(r_mojifile)); addChildAt(r_mojiban,2); //秒針 hari1 = new Loader(); hari1.x = 90; hari1.y = 85; hari1.visible = false; hari1.load(new URLRequest(h1file)); addChildAt(hari1,3); //分針 hari2 = new Loader(); hari2.x = 90; hari2.y = 90; hari2.visible = true; hari2.load(new URLRequest(h2file)); addChildAt(hari2,4); //時針 hari3 = new Loader(); hari3.x = 90; hari3.y = 90; hari3.visible = true; hari3.load(new URLRequest(h3file)); addChildAt(hari3,5); //タイマー初期化 var tt:Timer = new Timer(1000); tt.addEventListener(TimerEvent.TIMER, dclock); tt.start(); //チャイムローダー var sound_url : URLRequest = new URLRequest(soundpath); sound_obj.load(sound_url); // レイヤー制御 setChildIndex(wallpaper,0); setChildIndex(hari1,1); setChildIndex(hari2,2); setChildIndex(hari3,3); setChildIndex(mojiban,4); setChildIndex(r_mojiban,5); setChildIndex(textField,6); } public function asclock() { init(); setone(); } } }