(C)TOSSインターネットランド /教師修行・仕事術/パソコン上達法/HP作成/Flash
山本一美(TOSS福井)
すべてのピースを正しい場所に入れたら完成画面を表示させる
サンプルイメージ → count.swf
サンプルのソース → count.fla
4.正しい場所にドラッグしたら音を鳴らす まで できているものとします。
前回作成した練習用ファイル「test4.fla」を開き,「名前を付けて保存」で「test5.fla」という名前で
保存する。
1.残数表示用の変数ボックスを作成する。
・ピースレイヤーの上にレイヤーを挿入し,カウントレイヤーとする。
・カウントレイヤーの1フレーム目をクリックして,ステージ左下あたりに,テキストツールでテキストボックスを作成する。このとき,プロパティパネルで「ダイナミックテキストに設定し,変数名を remain とする。
(残数を表示する必要がなければ 1.はとばして 2.からでよい)
2.完成メッセージ表示画面を作成する。
・ピースレイヤーの上にレイヤーを挿入して,「メッセージ」レイヤーとする。
・メッセージレイヤーの2フレーム目を右クリックして「キーフレームの挿入」をする。
・スクリプトレイヤー,ターゲットレイヤー,ピースレイヤーのそれぞれ2フレーム目を右クリックして「フレームの挿入」をする。(「キーフレームの挿入」ではない)
・メッセージレイヤーの2フレーム目をクリックし,ステージに完成メッセージを書く。(静止テキスト)
3.スクリプトフレームのアクションスクリプトを設定する。
・スクリプトフレームの1フレーム目をクリックして,アクションパネルに以下のスクリプトを記入する。
※1 ピース数に合わせて 3行目の remain = 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.nextFrame();
}
}
}
//ヒットしなかったら元の場所へ戻す
else if(! obj.hitTest(dai)){
obj._x = oldX;
obj._y = oldY;
}
}
4.プレビューして確かめる
サンプルイメージ → count.swf
サンプルのソース → count.fla
OKなら保存して終了。
次は,「スタート」ボタンと「もう1回」ボタンをつけます。 次へ