Flash 使い方教室2〜初級スクリプト編〜
作成者:TOSSオホーツク・
山田正和
作成日:2004年12月3日(金)
最終更新日:2004年12月11日(土)
©Two-Way All rights reserved
TOSSランドは世界一の教育情報ポータルサイトです。
TOSSランドの正式名称はインターネットランド(登録商標4468327号)と言います。
課題15:箱に名前を入れておきなさい。→Y=""
●ステップ1:箱に数を入れなさい。
- 今回は「変数(数を入れる箱)」の新技を学習します。(趣意説明)
- "Flash"を起動しなさい。
- まず「ダイナミックテキスト」で、「変数の表示欄(変数の中身を表示させる場所)」を作ります。(趣意説明)
- 「ツール」の中から、「テキスト」ツールのアイコンをクリック。
- 「プロパティ」パネルを「ダイナミックテキスト(変化する文字)」にセットしなさい。(*1)
- ステージの左上あたりをクリック。
- キーボードの「ESC」キーを指で2回押しなさい。
1回目で長方形が水色に変わり、2回目で点線に変わります。(*2)
- 「矢印ツール/選択ツール」で、「点線の長方形」をクリック。
- 「プロパティ」パネルの「変数」欄に、半角英数字の大文字で"X"と書きなさい。
- これで「変数の表示欄」が出来ました。
- まずは【課題12〜14】のスクリプトを復習します。(趣意説明)
「変数の表示欄」に、数字を表示させてみましょう。
- 「タイムライン」の1フレーム目をクリック。
- 「アクション」パネルを開きなさい。(*3)
- 「アクション」パネルの1行目に、次のスクリプトを書き込みなさい。(*4)
X=100;
- 覚えていますか?
このスクリプトは、「エックスという名前の『箱(変数)』を用意して、その中に100を入れなさい」という呪文です。(*5)
- 本当に「100」と表示されるか、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15a.swf)
- 「ムービープレビュー」を終了しなさい。
- 「アクション」パネルの1行目を、次のように書き直しなさい。(*4)
X=100+20;
- このスクリプトでは、どんな数が表示されるでしょうか?
- 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15b.swf)
- このように「変数(数を入れる箱)」を使えば、足し算をすることもできます。
- 「ムービープレビュー」を終了しなさい。
- 「アクション」パネルの1行目を、次のように書き直しなさい。(*4)
「たす(+)」を「ひく(−)」に書き直すのです。
X=100-20;
- 今度は、どんな数が表示されるでしょうか?
- 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15c.swf)
- このように「変数(数を入れる箱)」を使えば、引き算をすることもできます。
- 「ムービープレビュー」を終了しなさい。
*1:文字色・文字サイズ・書体は特に問いません。
*2:選択を解除するために「ESC」キーを押すのでしたよね?
*3:画面下の方にある「▼アクション−フレーム」をクリック。
"Flash MX"の場合は、「スクリプト」レイヤーの1フレーム目を右クリック→「アクション」でもパネルが開きます。
*4:全て半角英数字で書きます。
*5:末尾の";"の記号(セミコロン)は、「ここで1つの命令(呪文)が終わり」という意味の記号でしたよね?
●ステップ2:箱に文字を入れなさい。
- いよいよ「変数(数を入れる箱)」の新技を学習します。(趣意説明)
- 「アクション」パネルの1行目を、次のように書き直しなさい。(*1)
X=TOSS;
- このスクリプトでは、どうなるでしょうか?
- 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15d.swf)
- 正解は「何も表示されない」でした。
- 「ムービープレビュー」を終了しなさい。
- 「アクション」パネルの1行目を、次のように書き直しなさい。
「TOSS」の4文字を、「ダブルクォーテーション("の記号)」で囲むのです。(*2)
X="TOSS";
- 今度は、どう表示されるでしょうか?
- 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15e.swf)
- 「変数」は、数「だけ」が入る「箱」ではありません。
「ダブル・クォーテーション(")」で囲んだ文字も、「変数(箱)」に入れることができるのです。
- 「ムービープレビュー」を終了しなさい。
- 「アクション」パネルの1行目を、次のように書き直しなさい。
X="TOSS"+"ランド";
- 今度は、どう表示されるでしょうか?
- 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15f.swf)
- 正解は「"TOSSランド"という文字が表示される」でした。(*3)
- このように「変数(箱)」を使えば、文字を足し算する(くっつける)ことができます。
- 「ムービープレビュー」を終了しなさい。
- 「アクション」パネルの1行目を、次のように書き直しなさい。
X="TOSSランド"-"ランド";
- 今度は、どう表示されるでしょうか?
「TOSS」と表示されると思いますか? それとも「計算できない(エラー表示が出る)」でしょうか?
- 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。
→参照用白玉ファイル(15g.swf)
- 正解は「エラー表示("NaN"という文字)が表示される」でした。
- 計算できないスクリプトを指定したので、エラー表示されてしまったのです。(*5)
- このように「変数(箱)」を使っても、残念ながら文字は引き算する(一部を取り除く)ことができません。
- 「ムービープレビュー」を終了しなさい。
- ファイルを保存しなさい。
ファイル名は"kadai15.fla"とします。
*1:「TOSS」の4文字は、半角とします。
全角でも同じ結果になるのですが、統一しておきます。
*2:ダブルクォーテーション(")の記号は、半角英数字で書きます。
*3:「TOSSランド」の文字が、途中で切れてしまうことがあります。
1行表示文字数が足りなくて「TOSSラ」のようになってしまう場合です。
この場合は「ムービープレビュー」を終了して、「変数の表示欄」を長く伸ばします。
「テキストツール」でクリックした後、右下の小さい四角形をドラッグすることで伸ばすことができます。(*4)
*4:この技は「ダイナミックテキスト」だけではありません。
「静止テキスト」も同様の手段で、表示領域を伸ばすことができます。
*5:"NaN"は"Not a Number"の略です。
「数字(Number)じゃないよ? もちろん文字でもない。いったい何なのこれ?」とパソコンが戸惑っているのです。
●ステップ3:箱に名前を入れておきなさい。
- 「変数」の新技を使って、【課題14】で作った「2択クイズ」をパワーアップします。(趣意説明)
- 改造用ファイルをダウンロードしなさい。
→改造用ファイル(kadai14+.fla)
- ダウンロードしたファイルを"Flash"で開きなさい。(*1)
- この改造用ファイルは、「2択クイズ」のサンプルです。
【課題14】を最後までやり遂げた状態から、更に一段階、手を加えてあります。
- 「ムービープレビュー」をしてご覧なさい。
どのように手を加えてあるのか、確かめてみるのです。
→参照用白玉ファイル(15h.swf)
- 全5問の問題ページの最初と最後に、「表紙ページ」と「結果発表ページ」が加わっているのが分かります。
- 「ムービープレビュー」を終了しなさい。
- 「結果発表ページ」に、「名前の表示欄」をつくります。(趣意説明)
- 「タイムライン」で、「テキスト」レイヤーのロックを解除しなさい。
- 「タイムライン」の「テキスト」レイヤーの7フレーム目(最終フレーム)をクリック。
- キーボードの「ESC」キーを1回指で押しなさい。(*3)
- 「ツール」の中から、「テキスト」ツールのアイコンをクリック。
- 「プロパティ」パネルを「ダイナミックテキスト(変化する文字)」にセットしなさい。
- ステージに「結果発表」と「あなたの得点は、」と書いてあります。
- 「結果発表」と「あなたの得点は、」の中間地点をクリック。
- あらかじめ1行表示文字数を増やしておきます。(趣意説明)
右下の小さい四角形をドラッグして、「名前の表示欄」を右側に伸ばしなさい。(*4)
- キーボードの「ESC」キーを指で2回押しなさい。
1回目で長方形が水色に変わり、2回目で点線に変わります。
- 「矢印ツール/選択ツール」で、今作った「点線の長方形(名前の表示欄)」をクリック。
- 「プロパティ」パネルの「変数」欄に、半角英数字の大文字で"Y"と書きなさい。(*5)
- これで「名前の表示欄」が出来ました。
- 「タイムライン」で、「テキスト」レイヤーをロックしなさい。
- 「タイムライン」で、「スクリプト」レイヤーのロックを解除しなさい。
- 「タイムライン」の「スクリプト」レイヤーの1フレーム目(開始フレーム)をクリック。
- 「アクション」パネルを開きなさい。(*6)
次のスクリプトが書いてあります。
stop();
X=0;
- 「アクション」パネルの3行目に、次のスクリプトを書き足しなさい。
stop();
X=0;
Y="山田正和";
- 「ムービープレビュー」をしてご覧なさい。
「結果発表ページ」に「山田正和」と表示されればOKです。
→参照用白玉ファイル(15i.swf)
- 「ムービープレビュー」を終了しなさい。
- 「アクション」パネル3行目の「山田正和」を、自分の名前に書き直しなさい。
(例えば「岩本依留羽(えるば)」さんなら、次のようにします)
stop();
X=0;
Y="岩本依留羽";
- 自分の名前が表示されるかどうか、「ムービープレビュー」で確かめてご覧なさい。
- このように「変数(箱)」に名前を入れておくと、「結果発表ページ」に名前を表示させることができます。
- ただし、今やった方法(フレームのアクションに名前を書き込んでおく)では、個人専用の「二択クイズ」にしかなりません。
常に同じ名前(フレームのアクションに書き込んだ名前)しか表示されないのです。
- "Flash"で学習ゲームを作るなら、プレイする人に合わせて表示させる名前を変えたいですよね?
- この点を、次のステップで改良します。
- 「ムービープレビュー」を終了しなさい。
*1:開き方は2通りあります。
簡単なのは、"Windows"側で操作する方法です。(*2)
「フラッシュ使い方教室2」フォルダの中にダウンロードしたファイル("kadai14+.fla")をダブルクリックするのです。
"Windows"の設定によってはシングルクリックになりますが。
*2:もう1つの方法は、"Flash"側で操作する方法です。
"Flash"の画面左上「ファイル」→「開く」とクリックして、ダウンロードしたファイル("kadai14+.fla")を選択します。
*3:ステージ上の全ての文字が選択されているので、「ESC」で選択を解除します。
「タイムライン」で特定のレイヤーの特例のフレームをクリックすると、ステージ全てが選択されてしまうのです。
*4:この作業で1行表示文字数を増やしておかないと、4文字以上の名前が切れてしまいます。
「向山洋一」が「向山洋」になったり、「師尾喜代子」が「師尾喜」になったりしてしまうのです。
*5:他の「変数名」とダブらなければ、どんな「変数名」でも構わないのですが、ここでは"Y"としました。
"X"は得点を入れる「変数(箱)」、"Y"は名前を入れる「変数(箱)」として機能します。
*6:画面下の「▼アクション-フレーム」をクリックします。
"Flash MX"の場合は「タイムライン」で、1フレーム目を右クリック→「アクション」とクリックしても同様の結果が得られます。
●ステップ4:テキスト入力で、箱に名前を入れておきなさい。
- 「表紙ページ」に「名前の入力欄」を作ります。(趣意説明)
- 「タイムライン」で、「スクリプト」レイヤーをロックしなさい。
- 「タイムライン」で、「テキスト」レイヤーのロックを解除しなさい。
- 「タイムライン」の「テキスト」レイヤーの1フレーム目(開始フレーム)をクリック。
- キーボードの「ESC」キーを1回指で押しなさい。
- 「ツール」の中から、「テキスト」ツールのアイコンをクリック。
- 「プロパティ」パネルを「テキスト入力」にセットしなさい。
- ステージに「二択クイズ」と「スタート」と書いてあります。
- 「二択クイズ」と「スタート」の中間地点をクリック。
- 右下の小さい四角形をドラッグして、「テキスト入力欄(名前の入力欄)」を右側に伸ばしなさい。(*1)
- キーボードの「ESC」キーを指で2回押しなさい。
1回目で長方形が水色に変わり、2回目で点線に変わります。
- 「矢印ツール/選択ツール」で、今作った「点線の長方形(名前の入力欄)」をクリック。
- 「プロパティ」パネルの「変数」欄に、半角英数字の大文字で"Y"と書きなさい。
- 「プロパティ」パネルの「変数」の左側、「テキストの周囲にボーダーを表示」をクリック。
- これで「表紙ページ」に「名前の入力欄」が出来ました。
この欄に名前を入力すると、指定した箱(今は変数"Y"を指定)に文字を入れておくことができます。
- 「名前の入力欄」を上手く機能させるために、スクリプトを修正します。(趣意説明)
- 「タイムライン」で、「テキスト」レイヤーをロックしなさい。
- 「タイムライン」で、「スクリプト」レイヤーのロックを解除しなさい。
- 「タイムライン」の「スクリプト」レイヤーの1フレーム目(開始フレーム)をクリック。
- 「アクション」パネルを開きなさい。
- 「アクション」パネルの3行目(Y="山田正和";など)を消しなさい。
「名前の入力欄」があれば不要なので、消してしまうのです。
stop();
X=0;
- 「ムービープレビュー」をしてご覧なさい。
「表紙ページ」で名前を入力してからスタートすると、「結果発表ページ」に入力した名前が表示されます。
→参照用白玉ファイル(15j.swf)
- このように「テキスト入力」は、ゲーム中(Flash作品の再生中)に「変数(箱)」へ文字や数を入れたい時に使います。(*2)
- 今回の学習はここまでです。
- ファイルを上書き保存してから、"Flash"を終了しなさい。
*1:名前を入力するのですから、6〜7文字分の横幅があった方が良いです。
「テキスト入力」の性質上、はみ出した分はスクロールされるのですが、ちょっと見づらいです。
*2:昔、BASIC言語を勉強した人には、要するに「INPUT」だと説明した方が早いかもしれません。