Analog Clock

   
 
アナログ時計を作ってみました。
  • 1フレーム目のアクション

     1: X0 = Y0 = 150;
     2: R = X0 * 0.9;
     3: K = 90;
     4:
     5: for (i = 0; i <= 11; i++) {
     6:   Rad = K * Math.PI / 180;
     7:   Moji.duplicateMovieClip("M"+i, i);
     8:   setProperty ("M"+i, _x, int(X0 + R * Math.cos(Rad)));
     9:   setProperty ("M"+i, _y, int(Y0 - R * Math.sin(Rad)));
    10:   if(i != 0)
    11:     set ("_root.M"+ i + ".Num", i);
    12:   else
    13:     set ("_root.M"+ i + ".Num", i);
    14:   K = K - 30;
    15: }
    16:
    17: Now = new Date();
    
  • 1〜3行目は各変数の初期設定です。
    • X0とY0は画面の中央(指針の回転の中心点)
    • Rは文字盤の半径
    • Kは文字盤の角度
  • 5〜14行目で文字盤を配置しています。
    文字盤の文字にはTextFieldのインスタンスをduplicateMovieClipで複製を作っています。
  • 17行目で日付のオブジェクトを生成しています。
  • 2フレーム目のアクション
     1: H = int(Now.getHours());
     2: M = int(Now.getMinutes());
     3: S = int(Now.getSeconds());
     4:
     5: _root.Hour._rotation = H * 30 + 0.5 * M;
     6: _root.Minute._rotation = M * 6;
     7: _root.Second._rotation = S * 6;
     8:
     9: gotoAndPlay (2);
    
  • 1〜3行目で時分秒を取得しています。
  • 5〜7行目で取得した時分秒を使って指針の回転角を計算、各指針のインスタンスの回転角のプロパティ_rotationにその角度を代入しています。
  • 9行目はフレームの最初に戻って上記の処理を繰り返すために必要です。
タイムライン


 

Analog Clock
New Digital Clock
Calendar
Sin Curve
Digital Clock
Get URL
Hello World!
 
文字を点滅