(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なら保存して終了。
次は,すべて正しい場所にドラッグし終えたら,完成画面を出します。 次へ