(BACK)

3時限目.フレームアクション

それでは、実際にparaflaでASを使う方法に進む。

paraflaで扱うASには、フレームアクション ボタンアクション クリップアクションの3種類がある。
まずは、基本中の基本であるフレームアクションについて解説する。

3−1.フレームアクション
変数の操作や分岐などの処理を、ごくごく普通に、「アクション:スクリプト」に入力するのが、フレームアクションである。


アクションイベントの中に<スクリプト>がある

[スクリプトを編集]ボタンを押すとスクリプトを書くウィンドウが開くので、書いたら閉じる。
「コメント」欄は使われないので、自分でわかりやすいように名前をつけておく。

以上で終了。このアクションが実行される時に、スクリプトの内容が実行される。
アクションイベントとノリは全く同じである。

さて、ここで一つ命令を紹介する。

gotoAndPlay(ゴートゥー アンド プレイ)
指定のフレームへジャンプする命令
使い方:
gotoAndPlay(数 または 文字列);

説明:
gotoAndPlayは、「アクション:ラベルへジャンプ」と「アクション:フレームジャンプ」の両方の機能を持つジャンプ命令である。
()の中が数字であれば、そのフレームへジャンプする。
()の中が文字列であれば、そのラベルへジャンプする。ラベル名は全角文字が使われていない事が望ましい。

例:
gotoAndPlay(1); // 1フレーム目、つまり先頭へジャンプする
gotoAndPlay("start"); // 「start」というラベルへジャンプする

スクリプトの中でジャンプをしたい場合にはこの命令を使う。
この命令が使えれば、変数の操作・分岐・ジャンプの3つにより、最低限の条件判定は出来るようになる。

なお、こういった命令の名前も大文字小文字を区別しないので、gotoandplayでもGOTOANDPLAYでも好きなように書いて構わないが、やはりお手本通りに書く事を推奨する。

3−2.実習・おみくじを作る
では、ここまでに覚えた事を使って、「ボタンを押すと大吉・吉・凶のどれかが表示される」という、おみくじflashを作る。

基本的な事は以下である。

・「押せ」というテキストを表示し、ボタン待ちをする。
・1〜3の範囲の乱数を出し、結果として覚える。
・結果が1の時は大吉と表示するためのラベルへジャンプする。
・2と3の時も同様にジャンプする。
・最後にボタン待ちをしてから、最初に戻る。
ボタン待ちとは、ボタンを表示し、それが押されるまでそこで停止する事。

面倒なので表示は全てテキストにする。
左ペインに、以下の内容のテキストを作成する。

・「押せ」
・「大吉!」
・「吉!」
・「凶!?」

イベントを作っていく。

・ラベル「開始」
・テキスト「押せ」を表示(位置=0)
 ボタンにする:アクション:ラベルへジャンプ「_NextLabel」
・アクション:停止

・ラベル
・アクション:スクリプト「乱数で結果を出す」
kekka = int(Math.random()*3)+1;
・アクション:スクリプト「結果を調べてジャンプする」
if (kekka == 1) {
	gotoAndPlay("daikiti");
}
if (kekka == 2) {
	gotoAndPlay("kiti");
}
if (kekka == 3) {
	gotoAndPlay("kyou");
}
// switchを使う場合
switch (kekka) {
	case 1:
		gotoAndPlay("daikiti");
		break;
	case 2:
		gotoAndPlay("kiti");
		break;
	case 3:
		gotoAndPlay("kyou");
		break;
}
・アクション:停止 ←完全に分割された(連続しないはずの)処理の境目には、必ず「停止」を置く

・ラベル「daikiti」
・テキスト「大吉!」を表示(位置=0)
 ボタンにする:アクション:ラベルへジャンプ「開始」
・アクション:停止

・ラベル「kiti」
・テキスト「吉!」を表示(位置=0)
 ボタンにする:アクション:ラベルへジャンプ「開始」
・アクション:停止

・ラベル「kyou」
・テキスト「凶!?」を表示(位置=0)
 ボタンにする:アクション:ラベルへジャンプ「開始」
・アクション:停止

ここまでの講義で、これは全て、どこで何をやっているのか理解出来る筈である。
わからない部分があった場合は、戻って復習。
正しく動くflashが作成出来たら、ここまでは合格である。

次は、休憩がてら簡単な話をしよう。

(次の講義へ)

(BACK)