TOSSランド>TOSSコミュニティ>その他
【山田庵】TOSSランド建設Flash 使い方教室2/ 課題15

Flash 使い方教室2〜初級スクリプト編〜

作成者:TOSSオホーツク山田正和
作成日:2004年12月3日(金)
最終更新日:2004年12月11日(土)
©Two-Way All rights reserved
TOSSランドは世界一の教育情報ポータルサイトです。
TOSSランドの正式名称はインターネットランド(登録商標4468327号)と言います。

課題15:箱に名前を入れておきなさい。→Y=""

●ステップ1:箱に数を入れなさい。

  1. 今回は「変数(数を入れる箱)」の新技を学習します。(趣意説明)
  2. "Flash"を起動しなさい。
  3. まず「ダイナミックテキスト」で、「変数の表示欄(変数の中身を表示させる場所)」を作ります。(趣意説明)
  4. ツール」の中から、「テキスト」ツールのアイコンをクリック。
  5. 「プロパティ」パネルを「ダイナミックテキスト(変化する文字)」にセットしなさい。(*1)

  6. ステージの左上あたりをクリック。

  7. キーボードの「ESC」キーを指で2回押しなさい。
    1回目で長方形が水色に変わり、2回目で点線に変わります。(*2)

  8. 矢印ツール/選択ツール」で、「点線の長方形」をクリック。
  9. 「プロパティ」パネルの「変数」欄に、半角英数字の大文字で"X"と書きなさい。

  10. これで「変数の表示欄」が出来ました。
  11. まずは【課題12〜14】のスクリプトを復習します。(趣意説明)
    変数の表示欄」に、数字を表示させてみましょう。
  12. 「タイムライン」の1フレーム目をクリック。
  13. 「アクション」パネルを開きなさい。(*3)
  14. 「アクション」パネルの1行目に、次のスクリプトを書き込みなさい。(*4)
    X=100;
    
  15. 覚えていますか?
    このスクリプトは、「エックスという名前の『箱(変数)』を用意して、その中に100を入れなさい」という呪文です。(*5)
  16. 本当に「100」と表示されるか、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15a.swf)

  17. 「ムービープレビュー」を終了しなさい。
  18. 「アクション」パネルの1行目を、次のように書き直しなさい。(*4)
    X=100+20;
    
  19. このスクリプトでは、どんな数が表示されるでしょうか?
  20. 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15b.swf)

  21. このように「変数(数を入れる箱)」を使えば、足し算をすることもできます。
  22. 「ムービープレビュー」を終了しなさい。
  23. 「アクション」パネルの1行目を、次のように書き直しなさい。(*4)
    「たす(+)」を「ひく(−)」に書き直すのです。
    X=100-20;
    
  24. 今度は、どんな数が表示されるでしょうか?
  25. 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15c.swf)

  26. このように「変数(数を入れる箱)」を使えば、引き算をすることもできます。
  27. 「ムービープレビュー」を終了しなさい。

*1:文字色・文字サイズ・書体は特に問いません。

*2:選択を解除するために「ESC」キーを押すのでしたよね?

*3:画面下の方にある「▼アクション−フレーム」をクリック。
 "Flash MX"の場合は、「スクリプト」レイヤーの1フレーム目を右クリック→「アクション」でもパネルが開きます。

*4:全て半角英数字で書きます。

*5:末尾の";"の記号(セミコロン)は、「ここで1つの命令(呪文)が終わり」という意味の記号でしたよね?

●ステップ2:箱に文字を入れなさい。

  1. いよいよ「変数(数を入れる箱)」の新技を学習します。(趣意説明)
  2. 「アクション」パネルの1行目を、次のように書き直しなさい。(*1)
    X=TOSS;
    
  3. このスクリプトでは、どうなるでしょうか?
  4. 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15d.swf)

  5. 正解は「何も表示されない」でした。
  6. 「ムービープレビュー」を終了しなさい。
  7. 「アクション」パネルの1行目を、次のように書き直しなさい。
    「TOSS」の4文字を、「ダブルクォーテーション("の記号)」で囲むのです。(*2)
    X="TOSS";
    
  8. 今度は、どう表示されるでしょうか?
  9. 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15e.swf)

  10. 変数」は、数「だけ」が入る「箱」ではありません。
    「ダブル・クォーテーション(")」で囲んだ文字も、「変数(箱)」に入れることができるのです。
  11. 「ムービープレビュー」を終了しなさい。
  12. 「アクション」パネルの1行目を、次のように書き直しなさい。
    X="TOSS"+"ランド";
    
  13. 今度は、どう表示されるでしょうか?
  14. 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15f.swf)

  15. 正解は「"TOSSランド"という文字が表示される」でした。(*3)
  16. このように「変数(箱)」を使えば、文字を足し算する(くっつける)ことができます。
  17. 「ムービープレビュー」を終了しなさい。
  18. 「アクション」パネルの1行目を、次のように書き直しなさい。
    X="TOSSランド"-"ランド";
    
  19. 今度は、どう表示されるでしょうか?
    「TOSS」と表示されると思いますか? それとも「計算できない(エラー表示が出る)」でしょうか?
  20. 予想を立ててから、「ムービープレビュー」で確かめてご覧なさい。

    →参照用白玉ファイル(15g.swf)

  21. 正解は「エラー表示("NaN"という文字)が表示される」でした。
  22. 計算できないスクリプトを指定したので、エラー表示されてしまったのです。(*5)
  23. このように「変数(箱)」を使っても、残念ながら文字は引き算する(一部を取り除く)ことができません。
  24. 「ムービープレビュー」を終了しなさい。
  25. ファイルを保存しなさい。
    ファイル名は"kadai15.fla"とします。

*1:「TOSS」の4文字は、半角とします。
 全角でも同じ結果になるのですが、統一しておきます。

*2:ダブルクォーテーション(")の記号は、半角英数字で書きます。

*3:「TOSSランド」の文字が、途中で切れてしまうことがあります。
 1行表示文字数が足りなくて「TOSSラ」のようになってしまう場合です。
 この場合は「ムービープレビュー」を終了して、「変数の表示欄」を長く伸ばします。
 「テキストツール」でクリックした後、右下の小さい四角形をドラッグすることで伸ばすことができます。(*4)

*4:この技は「ダイナミックテキスト」だけではありません。
 「静止テキスト」も同様の手段で、表示領域を伸ばすことができます。

*5:"NaN"は"Not a Number"の略です。
 「数字(Number)じゃないよ? もちろん文字でもない。いったい何なのこれ?」とパソコンが戸惑っているのです。

●ステップ3:箱に名前を入れておきなさい。

  1. 変数」の新技を使って、【課題14】で作った「2択クイズ」をパワーアップします。(趣意説明)
  2. 改造用ファイルをダウンロードしなさい。

    →改造用ファイル(kadai14+.fla)

  3. ダウンロードしたファイルを"Flash"で開きなさい。(*1)
  4. この改造用ファイルは、「2択クイズ」のサンプルです。
    【課題14】を最後までやり遂げた状態から、更に一段階、手を加えてあります
  5. 「ムービープレビュー」をしてご覧なさい。
    どのように手を加えてあるのか、確かめてみるのです。

    →参照用白玉ファイル(15h.swf)

  6. 全5問の問題ページの最初と最後に、「表紙ページ」と「結果発表ページ」が加わっているのが分かります。
  7. 「ムービープレビュー」を終了しなさい。
  8. 結果発表ページ」に、「名前の表示欄」をつくります。(趣意説明)
  9. 「タイムライン」で、「テキスト」レイヤーのロックを解除しなさい。
  10. 「タイムライン」の「テキスト」レイヤーの7フレーム目(最終フレーム)をクリック。

  11. キーボードの「ESC」キーを1回指で押しなさい。(*3)
  12. ツール」の中から、「テキスト」ツールのアイコンをクリック。
  13. 「プロパティ」パネルを「ダイナミックテキスト(変化する文字)」にセットしなさい。

  14. ステージに「結果発表」と「あなたの得点は、」と書いてあります。
  15. 結果発表」と「あなたの得点は、」の中間地点をクリック。

  16. あらかじめ1行表示文字数を増やしておきます。(趣意説明)
    右下の小さい四角形をドラッグして、「名前の表示欄」を右側に伸ばしなさい。(*4)

  17. キーボードの「ESC」キーを指で2回押しなさい。
    1回目で長方形が水色に変わり、2回目で点線に変わります。
  18. 矢印ツール/選択ツール」で、今作った「点線の長方形(名前の表示欄)」をクリック。
  19. 「プロパティ」パネルの「変数」欄に、半角英数字の大文字で"Y"と書きなさい。(*5)
  20. これで「名前の表示欄」が出来ました。
  21. 「タイムライン」で、「テキスト」レイヤーをロックしなさい。
  22. 「タイムライン」で、「スクリプト」レイヤーのロックを解除しなさい。
  23. 「タイムライン」の「スクリプト」レイヤーの1フレーム目(開始フレーム)をクリック。

  24. 「アクション」パネルを開きなさい。(*6)
    次のスクリプトが書いてあります。
    stop();
    X=0;
    
  25. 「アクション」パネルの3行目に、次のスクリプトを書き足しなさい。
    stop();
    X=0;
    Y="山田正和";
    
  26. 「ムービープレビュー」をしてご覧なさい。
    「結果発表ページ」に「山田正和」と表示されればOKです。

    →参照用白玉ファイル(15i.swf)

  27. 「ムービープレビュー」を終了しなさい。
  28. 「アクション」パネル3行目の「山田正和」を、自分の名前に書き直しなさい。
    (例えば「岩本依留羽(えるば)」さんなら、次のようにします)
    stop();
    X=0;
    Y="岩本依留羽";
    
  29. 自分の名前が表示されるかどうか、「ムービープレビュー」で確かめてご覧なさい。
  30. このように「変数(箱)」に名前を入れておくと、「結果発表ページ」に名前を表示させることができます。
  31. ただし、今やった方法(フレームのアクションに名前を書き込んでおく)では、個人専用の「二択クイズ」にしかなりません。
    常に同じ名前(フレームのアクションに書き込んだ名前)しか表示されないのです。
  32. "Flash"で学習ゲームを作るなら、プレイする人に合わせて表示させる名前を変えたいですよね?
  33. この点を、次のステップで改良します。
  34. 「ムービープレビュー」を終了しなさい。

*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. 「表紙ページ」に「名前の入力欄」を作ります。(趣意説明)
  2. 「タイムライン」で、「スクリプト」レイヤーをロックしなさい。
  3. 「タイムライン」で、「テキスト」レイヤーのロックを解除しなさい。
  4. 「タイムライン」の「テキスト」レイヤーの1フレーム目(開始フレーム)をクリック。

  5. キーボードの「ESC」キーを1回指で押しなさい。
  6. ツール」の中から、「テキスト」ツールのアイコンをクリック。
  7. 「プロパティ」パネルを「テキスト入力」にセットしなさい。

  8. ステージに「二択クイズ」と「スタート」と書いてあります。
  9. 二択クイズ」と「スタート」の中間地点をクリック。

  10. 右下の小さい四角形をドラッグして、「テキスト入力欄(名前の入力欄)」を右側に伸ばしなさい。(*1)

  11. キーボードの「ESC」キーを指で2回押しなさい。
    1回目で長方形が水色に変わり、2回目で点線に変わります。
  12. 矢印ツール/選択ツール」で、今作った「点線の長方形(名前の入力欄)」をクリック。
  13. 「プロパティ」パネルの「変数」欄に、半角英数字の大文字で"Y"と書きなさい。
  14. 「プロパティ」パネルの「変数」の左側、「テキストの周囲にボーダーを表示」をクリック。

  15. これで「表紙ページ」に「名前の入力欄」が出来ました。
    この欄に名前を入力すると、指定した箱(今は変数"Y"を指定)に文字を入れておくことができます。
  16. 名前の入力欄」を上手く機能させるために、スクリプトを修正します。(趣意説明)
  17. 「タイムライン」で、「テキスト」レイヤーをロックしなさい。
  18. 「タイムライン」で、「スクリプト」レイヤーのロックを解除しなさい。
  19. 「タイムライン」の「スクリプト」レイヤーの1フレーム目(開始フレーム)をクリック。

  20. 「アクション」パネルを開きなさい。
  21. 「アクション」パネルの3行目(Y="山田正和";など)を消しなさい。
    「名前の入力欄」があれば不要なので、消してしまうのです。
    stop();
    X=0;
    
  22. 「ムービープレビュー」をしてご覧なさい。
    表紙ページ」で名前を入力してからスタートすると、「結果発表ページ」に入力した名前が表示されます。

    →参照用白玉ファイル(15j.swf)

  23. このように「テキスト入力」は、ゲーム中(Flash作品の再生中)に「変数(箱)」へ文字や数を入れたい時に使います。(*2)
  24. 今回の学習はここまでです。
  25. ファイルを上書き保存してから、"Flash"を終了しなさい。

*1:名前を入力するのですから、6〜7文字分の横幅があった方が良いです。
 「テキスト入力」の性質上、はみ出した分はスクロールされるのですが、ちょっと見づらいです。

*2:昔、BASIC言語を勉強した人には、要するに「INPUT」だと説明した方が早いかもしれません。