(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回」ボタンをつけます。 次へ