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