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

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

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

課題12:箱に得点を入れておきなさい。→X=0

●ステップ1:得点欄を作りなさい。

  1. 今回は得点欄の作り方を勉強します。(趣意説明)
  2. "Flash"を起動しなさい。
  3. まず得点欄の「見出し」を作ります。(趣意説明)
  4. テキスト」ツールで、ステージの左上に「得点」と書きなさい。
    大きさ(横幅)はステージ横幅の5分の1以下、色や書体は特に問いません。

  5. プロパティ」パネルの左端に、「静止テキスト」と書いてあります。(*1)
    静止テキスト」という言葉が何を意味するのかは後のステップで勉強します。

  6. キーボードの「ESC」キーを指で押しなさい。(*2)
    今書いた「得点」という文字の周りから、水色の長方形が消えます。(*3)(*4)

  7. よく見ると、「プロパティ」パネルの表示も基本状態に戻っています。
    「ESC」キーを押す前(水色の長方形がある時)
    「ESC」キーを押した後(水色の長方形が消えている時)
  8. 次に、得点欄の「表示部分(数値が表示される場所)」を作ります。(趣意説明)
  9. ツール(お道具箱)」の中から、「テキスト」ツールのアイコンをクリック。

  10. プロパティ」パネル左端の「静止テキスト」を、「ダイナミックテキスト」に切り替えなさい。
    ダイナミックテキスト」という言葉が何を意味するのかは後のステップで勉強します。

  11. 「得点」の文字の右横を、1文字分ぐらい空けてクリック。
    右下に小さな正方形がくっついた長方形が表示されます。(*5)

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

  13. これで得点欄づくりは、半分終わりました。
  14. 「Ctrl」+「Enter」で、「ムービープレビュー」をしてごらんなさい。
    「得点」という文字だけが表示されて、「点線の長方形」は表示されません。
  15. 実は「点線の長方形(得点欄の表示部分)」に数値を表示させるには、「アクションスクリプト」を使う必要があるのです。
  16. 「ムービープレビュー」を終了しなさい。

*1:「静止テキスト」と表示されていない場合は、文字が選択されていないのかもしれません。
 「矢印ツール/選択ツール」で「得点」の文字をクリックしてみてください。
 上手くいけば、「プロパティ」パネルの表示が切り替わります。

*2:「矢印ツール/選択ツール」で、ステージの何もないところをクリックしても同じ効果になります。

*3:「ESC」キーを押すことで、選択が解除されたからです。
 「水色の長方形で囲まれている」=「その文字が選択されている」ことを意味します。
 「水色の長方形で囲まれていない」=「その文字が選択されていない」ことを意味します。

*4:上手く消えない時は、もう一度「ESC」キーを押してみてください。

*5:もしも上下にズレたなら、「矢印ツール/選択ツール」で動かしてください。
 「点線の長方形」が「見出し」よりも高い位置にあるとか、その反対の場合などです。

●ステップ2:得点欄に0点と表示させなさい。

  1. それでは、得点欄づくりの後半戦です。
  2. 「矢印ツール/選択ツール」で、「タイムライン(時間割)」の1フレーム目をクリック。
  3. アクション」パネルを開きなさい。(*1)
  4. アクション」パネルの1行目に、半角英数字で"X=100"と書きなさい。
    キーボードを使って、文字と数字を入力するのです。

  5. "X"は大文字になっていますか? 小文字("x")で書いてしまった人は直しておきなさい。
  6. ステージの上を見やすくします。(趣意説明)
    アクション」パネルを閉じなさい。(*2)
  7. 得点欄全体が選択されたままなので、選択を解除します。(趣意説明)
    キーボードの「ESC」キーを指で押しなさい。(*3)
  8. 矢印ツール/選択ツール」で、「点線の長方形(得点欄の表示部分)」だけをクリック。
  9. プロパティ」パネルの、「変数」の欄に半角英数字で"X"と書きなさい。
    先ほど書いた"X=100"の"X"と同じく、"X"は大文字で書くのですよ。

  10. 「Ctrl」+「Enter」で、「ムービープレビュー」をしてごらんなさい。
    「得点」の横に、「100」と数値が表示されたら合格です。

    →動作参照用白玉ファイル(12a.swf)

  11. ムービープレビュー」を終了しなさい。
  12. 今表示された「100点」を、今度は「50点」に書き直してみます。(趣意説明)
  13. 「矢印ツール/選択ツール」で、「タイムライン(時間割)」の1フレーム目をクリック。
  14. アクション」パネルを開きなさい。(*1)
  15. 1行目の"X=100"を、"X=50"に書き直しなさい。

  16. 「Ctrl」+「Enter」で、「ムービープレビュー」をしてごらんなさい。
    「得点」の横に、「50」と数値が表示されたら合格です。

    →動作参照用白玉ファイル(12b.swf)

  17. ムービープレビュー」を終了しなさい。
  18. それでは問題です。得点欄に「0点」と表示させたい時は、どうすれば良いでしょうか?
  19. 簡単ですよね? ……そうです。
    "X=0"とアクション・スクリプトを書けば良いのです。
  20. 実際にやってみましょう。(趣意説明)
    「矢印ツール/選択ツール」で、「タイムライン(時間割)」の1フレーム目をクリック。
  21. アクション」パネルを開きなさい。(*1)
  22. 1行目の"X=50"を、"X=0"に書き直しなさい。

  23. 「Ctrl」+「Enter」で、「ムービープレビュー」をしてごらんなさい。
    「得点」の横に、「0」と数値が表示されたら合格です。

    →動作参照用白玉ファイル(12c.swf)

  24. 「ムービープレビュー」を終了しなさい。

*1:"Flash MX"での開き方は、「タイムライン」の1フレーム目を右クリック→「アクション」です。
 "Flash MX 2004"での開き方は、画面下の方にある「▼アクション-フレーム」をクリックします。

*2:ノートパソコンや古いパソコンなど、画面が小さいパソコンのための指示です。
 大画面のパソコンでは閉じなくてもかまいません。

*3:「タイムライン」のフレームをクリックした後は、そのフレームに書いてあるものが全て選択されます。
 手順2−2で1フレーム目をクリックをしたので、今は得点欄全体(見出し+表示部  分)が選択されています。

●ステップ3:ダイナミックは「スクリプトで変化する〜」の意味です。

  1. ダイナミックテキスト(で作った得点欄の表示部分)」は、スクリプトで自由に変化させることができます。
    スクリプトで"X=100"と指定すれば"100"と表示され、"X=0"と指定すれば"0"と表示されるのです。
  2. 今はまだ、1回の「スクリプト書き」で、1種類の数値を表示させることしかしていません。
  3. ですが、もう1段階上のスクリプトを使えば、もっと色々な数値を表示させることができます。
  4. 例えば、「ボタンを押すごとに"10"ずつ増える」スクリプトの書き方があります。

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

  5. その逆に、「ボタンを押すごとに"10"ずつ減る」スクリプトの書き方もあります。

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

  6. これらのスクリプトを使えば、「三択クイズ」などの学習ゲームに利用できることが容易に想像できるでしょう。(*1)
  7. 次回の課題13では、このような「ボタンを押すごとに得点が変化する」スクリプトを学習します。
    楽しみにしていてください。
  8. ちなみに「ダイナミック(dynamic)」とは、英語で「活動的な〜」「動的な〜」「力強い〜」という意味です。
  9. そこから転じて、コンピュータ用語では「時間や状態によって変化する〜」という意味になりました。
  10. "Flash"の「ダイナミックテキスト」は、「スクリプトによって変化する文字」と解釈すると良いでしょう。(*2)
    今回("X=10")や次回(ボタンクリック)のように、スクリプトで数値が変化するのです。

  11. ダイナミック(dynamic)」の反対語は、「スタティック(static)」と言います。
  12. スタティック(static)」は、英語で「静止した〜」「静的な〜」「動きがない〜」「固定的な〜」という意味です。
  13. そこから転じて、コンピュータ用語では「時間や状態によって変化しない〜(固定された〜)」という意味になりました。
  14. 日本語版の"Flash"では、「スタティックテキスト(static text)」を「静止テキスト」と訳しています。
    スクリプトによって変化しない文字(普通の文字)」と解釈すると分かりやすいでしょう。(*3)

  15. 簡単にまとめておきますので、参考にしてください。
    ダイナミックテキスト
    スクリプトで変化するテキスト。
    学習ゲームでは、得点欄やタイマーなどを作るのに使う。
    静止テキスト
    スクリプトで変化しないテキスト。
    学習ゲームでは、問題文や選択肢の文章などに使う。

*1:「三択クイズ」の場合、2パターンの利用法が考えられます。
 1つ目は「正解すると点数が増え、不正解では点数が変化しない」パターンです。
 2つ目は「正解すると点数が増え、不正解では減点される」パターンです。

*2:「テキスト(text)」は、英語で「文字」「本文」「教科書」の意味です。

*3:静止テキストでも、色や大きさや位置などの「見た目」なら、スクリプトで変化させることが出来ます。(*4)
 ですが"0"を"100"にするとか、"あ"を"A"にするような、「中身そのもの」の変化を行うことは出来ません。

*4:「シンボル」に変換する必要がありますが。

●ステップ4:変数の名前を書き直しなさい。

  1. 「ダイナミックテキスト(得点欄など)」を変化させるスクリプトについて、もう一歩勉強しておきます。
  2. 「矢印ツール/選択ツール」で、「タイムライン(時間割)」の1フレーム目をクリック。
  3. アクション」パネルを開きなさい。
  4. アクション」パネルの1行目を、"Y=0"に書き直しなさい。(*1)
  5. さて、これで「ムービープレビュー」をするとどうなるでしょうか?
  6. 予想してから、「ムービープレビュー」を試してごらんなさい。

    →正解参照用白玉ファイル

  7. 「得点(見出し)」の横に、何も表示されない……が正解です。
    どうですか? 予想通りでしたか?
  8. 「ムービープレビュー」を終了しなさい。
  9. アクション」パネルを閉じなさい。
  10. キーボードの「ESC」キーを指で押しなさい。(*2)
  11. 矢印ツール/選択ツール」で、「点線の長方形(得点欄の表示部分)」をクリック。
  12. プロパティ」パネルの「変数」の欄を、"Y"に書なおしなさい。

  13. さて、これで「ムービープレビュー」をするとどうなるでしょうか?
  14. 予想してから、「ムービープレビュー」を試してごらんなさい。

    →正解参照用白玉ファイル

  15. 「得点(見出し)」の横に「0」と表示される……が正解です。
    どうですか? 予想通りでしたか?
  16. 「ムービープレビュー」を終了しなさい。
  17. 「矢印ツール/選択ツール」で、「タイムライン(時間割)」の1フレーム目をクリック。
  18. アクション」パネルを開きなさい。
  19. アクション」パネルの1行目を、"TOKUTEN=0"に書き直しなさい。(*1)
  20. アクション」パネルを閉じなさい。
  21. 得点欄全体が選択されたままなので、選択を解除します。
    キーボードの「ESC」キーを指で押しなさい。
  22. 矢印ツール/選択ツール」で、「点線の長方形(得点欄の表示部分)」をクリック。
  23. プロパティ」パネルの「変数」の欄を、"TOKUTEN"に書なおしなさい。
  24. さて、これで「ムービープレビュー」をするとどうなるでしょうか?
  25. 予想してから、「ムービープレビュー」を試してごらんなさい。

    →正解参照用白玉ファイル

  26. 「得点(見出し)」の横に「0」と表示される……が正解です。
    どうですか? 予想通りでしたか?
  27. 「ムービープレビュー」を終了しなさい。

*1:もちろん半角英数字です。

*2:得点欄全体が選択されたままなので、選択を解除するために「ESC」を押すのです。

●ステップ5:数を入れる箱をイメージしなさい。

  1. このように「ダイナミックテキスト」を変化させるスクリプトを、「変数」と言います。
  2. 元々は「数学用語」なのですが、あまり難しく考える必要はありません。(*1)
  3. 変数」=「数を入れる箱」とイメージすれば、それで十分です。
    X=0
    「エックスという名前の箱に、"0"が入っています」
    Y=50
    「ワイという名前の箱に、"50"が入っています」
    TOKUTEN=100
    「トクテンという名前の箱に、"100"が入っています」
    score=120
    「スコアという名前の箱に、"120"が入っています」
  4. 上に挙げた例のように、「変数名(箱の名前)」は自由に決めることができます。(*2)
  5. 「変数」が1〜3個ぐらいの単純なゲームなら、1文字の「変数名」が良いでしょう。(*3)
    数学っぽく、"X","Y","Z"などの名前を「変数(箱)」に付けるのです。
  6. もっとたくさんの「変数」を使う複雑なゲームなら、ローマ字か英単語の「変数名」が良いでしょう。
    "TOKUTEN"や"score"など、どの「変数(箱)」に何の数が入っているのか、一目で分かる名前をつけるのです。(*4)
  7. それでは長くなってきたので、今回の課題はここまでとします。
  8. 記念にとっておきたい人は、ファイルを保存しなさい。
    ファイル名は"kadai12.fla"などが良いでしょう。
  9. "Flash"を終了しなさい。

*1:"Y=3X+2"や"X2-6X+9="などの式に使う、"X"や"Y"などの文字が「変数」です。

*2:スクリプトとダイナミックテキストの、大文字と小文字は統一してください。
 例えばスクリプトに書く「変数名」が"TOKUTEN"で、ダイナミックテキストの「変数名」が"tokuten"だと上手く機能しないのです。

*3:例えば「三択クイズ」なら、「得点」と「経過時間」など2個程度の「変数」を用意するだけで済みます。

*4:実は、漢字や仮名で付けることも出来ます。
 "得点=0"とか、"とくてん=100"などの「変数名」です。
 ただし時々エラーが出ることがあるので、あまりオススメできません。
 "Flash"は元々英語版のソフトなので、日本語の「変数名」を上手く処理できないことがあるのです。