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



正しい場所にドラッグしたら音を鳴らす



山本一美(TOSS福井)

正しい場所にドラッグ&ドロップしたら音を鳴らす


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

「ドラッグ&ドロップでぴったり合わせる」「test3.fla」 まで できているものとします。
前回作成した練習用ファイル「test3.fla」を開き,「名前を付けて保存」で「test4.fla」という名前で
保存する。

1.サウンドファイルを読み込む

・鳴らす音のファイルを用意する。
(ここでは「Flash初心者向けサンプル集 TossLand No.7400013」にあるサウンドファイルseikai.mp3を利用させていただきました。別のサウンドファイルを使う場合は,ファイル名を適宜変更してください)
・「ファイル」−「読み込み」でサウンドファイルを読み込む。
・ライブラリウィンドウを開き,読み込んだサウンドファイルを右クリックし,「リンケージ」の設定で「ActionScriptに書き出し」と「最初のフレームに書き出す」にチェックを入れる。

2.アクションスクリプトを変更する

・スクリプトレイヤーのフレームのアクションスクリプトを,以下のものに変更する。

スクリプト  (行頭に // のある行はコメント行)

stop();
//
//★----ドラッグ開始処理関数定義
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;
// ※1 新規吸着なら音を鳴らせる
                if (oldX <> this[targetName]._x || oldY <> this[targetName]._y) {
                        theSoundObj = new Sound();
                        theSoundObj.attachSound("seikai.mp3");
                        theSoundObj.start();
                }
        }
        //ヒットしなかったら元に戻す。
        else if(! obj.hitTest(dai)){
                obj._x = oldX;
                obj._y = oldY;
        }
}

※1 別のサウンドファイルを使う場合は,サウンドファイル名 "seikai.mp3" を適宜変更する。

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

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


OKなら保存して終了。

次は,すべて正しい場所にドラッグし終えたら,完成画面を出します。  次へ



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

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