• ベストアンサー

Flashで恋愛ゲームを作りたいのですが・・・

こんにちは。 今、恋愛アドベンチャーゲームをFlash8で作ろうと思っているのですが、わからないことがありまして質問させていただきました。 よくゲームをやるときに、まずは主人公(自分)の名前を入力しますよね? そして、入力した名前が物語の中で表示されるというプログラムですが・・・Flashでも可能でしょうか? もし可能であれば、作り方をおしえてください。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

例えばフレーム1などムービーの最初の画面にテキストフィールドを用意します。 テキストフィールド用意の仕方は, 左のツールパネルから 「A」 となっているテキストツールのボタンを押した状態にして, ステージ下のプロパティインスペクタの左の方から,  [テキスト入力 v] を選択し,プロパティインスペクタの中央上の辺りで, フォントの種類を, [_等幅] や [_ゴシック] や [_明朝] のような前にアンダースコアの入ったデバイスフォントを指定し, その右で,文字のポイント数を適当に見やすい数値に設定し, さらにその右で,フォントの色を見やすい色に設定します。 その他の設定は適当で良いですが, テキストフィールドだとわかりやすくするために, その下にある,  [単一行 v] Ab <> □ この □ (テキストの周囲にボーダーを表示) ボタンを押した状態にして, ステージ上を適当にドラッグします。 これでテキスト入力用のテキストフィールドが用意できます。 上のようにしてテキスト入力のテキストフィールドを作成しましたら, ステージ下のプロパティインスペクタの左の中段,  [ <インスタンス名> ] とグレー文字になっている部分で, そのテキストフィールドにインスタンス名を付けます。 インスタンス名は半角英数文字とアンダースコア (_)とドル記号 ($) を使用し, 最初の文字を半角英字かアンダースコア (_)かドル記号 ($)にしていたらたいてい何でもかまいません。 この説明では, input_txt というインスタンス名を付けることにしておきます。 そのテキストフィールド・インスタンス名「input_txt」の右横や下などに, 次の画面などに移動させるための 「スタート」ボタンもしくは「OK」ボタンを,ボタンシンボルのインスタンスで用意します。 ボタンの作成方法などは,図示ができないここでは説明しにくいので, お持ちの本やネット上のボタンの作成方法を参考にしてボタンを作成してください。 「ボタンを理解しよう!」 http://www.1art.jp/flash2/chapter/8/8.htm など。 ボタンインスタンスを作成できましたら, そのボタンを選択して,アクションパネルを表示させます。 そして次のようなスクリプト(例です)を書きます。 ---------------------------------------- // このボタンがクリックされたときに実行 on (release) { // 変数 user_name に input_txt の文字列を代入 user_name = input_txt.text; // 再生開始(たとえばの例) play(); } ---------------------------------------- これで, 変数「user_name」の値に「input_txt」に入力された文字列が代入されますから, テキストフィールド「input_txt」が消えても, 変数「user_name」を呼びだすことで色々と使うことができます。 ///////////////////////////////////////////////////////// 簡単な1つの例です。 _root(シーン1 などメインムービーのタイムライン) を 10フレーム にしたとします。 上のテキストフィールドとボタンを フレーム1 だけに置いておいて, それとは別のレイヤーを作成して ActionScript 専用のレイヤーにすると勝手に決めておきます。 その ActionScript 用のレイヤーの フレーム1 に, stop(); を書いてムービーを停止させておきます。 フレーム10にもキーフレームを作成して, そこに 「output_txt」 というインスタンス名のちょっと横長めのテキストフィールドを作成ます。 そして, ActionScript 用のレイヤーの フレーム10 に次のように書きます。 ---------------------------------------- stop(); output_txt.text = "ラッキー!"+user_name+"さんおめでとう。"; ---------------------------------------- タイムラインを図示すると次のような感じになるということです。 (ズレていると思いますが...)  --- _root のタイムライン ---------------------             1        10  □ レイヤー ・・・|○      []|○| ←ActionScript  □ レイヤー ・・・|●|○     []|●| ←テキストフィールドなど  ---------------------------------------- そして,SWFをパブリッシュし, すぐに表示されるテキストフィールドに 「hisako1986」 と入力し, ボタンをクリックすると,フレーム10 のテキストフィールドには,  [ラッキー!hisako1986さんおめでとう。 ] が表示されます。 ※'86年は... 私が大学に入学した年だったかもしれません...。  Flash など影も形もなくて PC98 や 88 にフロッピー突っこんでたかも。  「近似圧縮したベクトルデータを画像としてモニタに表示させるんだ!」  とか言ってプログラムを研究していた友だちがいて,  作ったプログラムを20分くらい走らせて  ベクトル線だけの絵をモニタに表示させてました。  必死でプログラム作って20分もかけて表示させた絵は,  出来損ないアヒルのガーコの輪郭線だけみたいなもの(涙)。  「ベクトル画像なんか実用にならないな。」 と思ってましたが,  あれよあれよと技術やPC能力が向上して10年後。  '96年 初代 Flash が誕生。  ベクトル画像がアニメーションするまでになりました。スゴイ。  勝手な昔話すみません m(_ _"m)ペコリ。  

hisako1986
質問者

お礼

ご回答ありがとうございます!

関連するQ&A

専門家に質問してみよう