(C)TOSSインターネットランド /教師修行・仕事術/パソコン上達法/HP作成/Flash



経過時間を表示させる



山本一美(TOSS福井)

経過時間を表示させます。


サンプルイメージ → timer.swf
サンプルのソース → timer.fla

6.「スタート」ボタン,「リプレイ」ボタンをつける (test6.fla)まで できているものとします。

前回作成した練習ファイル「test6.fla」を開き,名前を付けて保存で 「test7.fla」という名前で保存します。

1.サンプルファイル[timer.fla]から,[timer]シンボルをコピーする

・サンプルファイル[timer.fla]を開き,ウィンドウの切り替えで編集中のファイル「test7.fla」に戻る。
・ライブラリウィンドウを表示させ,[timer.fla]のライブラリを開き[timer]シンボルがあることを確認する。
・タイムラインにレイヤーを挿入し[タイマー」レイヤーとする。
・「タイマー」レイヤーの2フレーム目を右クリックして[キーフレームの挿入」をする。
・[timer.fla]のライブラリから,[timer]シンボルをドラッグしてステージ上に貼り付ける。
・プロパティパネルで,インスタンス名を「timer」とする。

2.フレームアクションを変更する

・「スクリプト」レイヤーの2フレーム目をクリックして,アクションパネルのスクリプトを以下のものに変更する。

スクリプト 

stop();
//残数初期値設定(ピース数)
remain = 2
//
//★----ドラッグ開始処理関数定義
function myStartDrag(obj){
        obj.startDrag();
        //元の位置を記憶
        oldX = obj._x;
        oldY = obj._y;
}
//
//★----ドロップ時処理関数定義
function myStopDrag(obj){
        var targetName;
        obj.stopDrag();
        //ターゲット名(ターゲット名はピース名+_targetであること)
        targetName = obj._name+"_target";
        //重なり判定,吸着
        if (obj.hitTest(this[targetName]._x,this[targetName]._y,true)){
                obj._x = this[targetName]._x;
                obj._y = this[targetName]._y;
                //新規吸着なら音を鳴らせて残数をひとつ減らす
                if (oldX <> this[targetName]._x || oldY <> this[targetName]._y) {
                        theSoundObj = new Sound();
                        theSoundObj.attachSound("seikai.mp3");
                        theSoundObj.start();
                        remain = remain - 1;
                        //残数が0になったらタイマーを止めて完成画面へ
                        if (remain == 0) {
                                _root.timer.stopTimer();
                                _root.nextFrame();
                        }
                }
        }
        //ヒットしなかったら元の場所へ戻す
        else if(! obj.hitTest(dai)){
                obj._x = oldX;
                obj._y = oldY;
        }
}


3.プレビューして確かめる

サンプルイメージ → timer.swf
サンプルのソース → timer.fla

OKなら保存して終了します。



TOPページTOSS福井TOSSインターネットランドご意見・ご感想

Copyright (C) 2003 TOSS福井. All Rights Reserved.