忍者ブログ

へぷたなすくろーる

RPGツクールのブログです。イベント講座とRGSS3スクリプト配布をやってます♪

Home > > [PR] Home > イベントのすゝめ > イベントのすゝめ(19) 増えたり減ったりする選択肢

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

イベントのすゝめ(19) 増えたり減ったりする選択肢

このコーナーでは、主に初心者さんに向けたイベントのテクニックを紹介していきます。
RPGツクールVXAceで説明していきますが、多くはVXや他のツクールでも可能です。
合言葉は「選択肢、トランスフォーメーション!フェーズ1、フェーズ2」

第十九回はフレキシブルに増減できる選択肢の紹介です。
デフォルトの選択肢だと数や内容が固定だし、ちょっとでも変化させようとすれば
内容に見合わない膨大なパターンを作らされるハメになりますよね~。
しかしもうその心配は要りません、効率的な組み方があるのです♪

なお前提知識ではありませんが、実際にイベントを組むときは
イベントのすゝめのスクリプト関連記事も併せて読むと効果的です。
では気になる方はつづきはこちら、からどうぞ。
さて、最初に1つだけスクリプトコマンドをおさらいしておきます。
$game_variables[n] = ○○
これでn番の変数に代入という命令になります。
ここで大事なのは「代入に関しては文字列もOK」という事と
文字列を入れた変数も扱いは同じで、文章表示の¥v[n]で表示できるし
条件分岐などで比較することも可能であるというポイントです。
これにより200X系ではアクターの名前を使っていた方法が簡単に扱えるようになりました。

イベントの構造
まずは変数を6つ用意します。
001~004「選択肢の名前1~4」
005「選択肢の数」
006「選択肢の結果」
イベントは大きく別けて3つの処理からなります。

選択肢のセッティング
用意した変数を使ってセッティングをしていきます。
方法は自由ですが(そこがウリですので)代表例を2つ紹介します。

まず「パーティメンバーを選択させる」方法。
変数005 = パーティ人数
条件分岐:変数005 >= 1
  $game_variables[1] = $game_party.members[0].name
条件分岐:変数005 >= 2
  $game_variables[2] = $game_party.members[1].name
条件分岐:変数005 >= 3
  $game_variables[3] = $game_party.members[2].name
条件分岐:変数005 >= 4
  $game_variables[4] = $game_party.members[3].name
パーティ人数に応じてメンバーの名前を追加していきます。

それから「条件分岐で選択肢を詰めていく方法」
変数005 = 0
条件分岐:○○
  変数005 += 1
  $game_variables[$game_variables[5]] = ××
条件分岐:○○
  変数005 += 1
  $game_variables[$game_variables[5]] = ××
条件分岐:○○
  変数005 += 1
  $game_variables[$game_variables[5]] = ××
条件分岐:○○
  変数005 += 1
  $game_variables[$game_variables[5]] = ××
○○はその選択肢を追加するかどうかの条件
××はその選択肢の名前です。文字列なので"(ダブルクォーテーション)で囲みます。

選択肢の表示
条件分岐:変数005 == 4
  選択肢の表示:¥v[1],¥v[2],¥v[3],¥v[4]
  ¥v[1]:変数006 = 変数001
  ¥v[2]:変数006 = 変数002
  ¥v[3]:変数006 = 変数003
  ¥v[4]:変数006 = 変数004
条件分岐:変数005 == 3
  選択肢の表示:¥v[1],¥v[2],¥v[3]
  ¥v[1]:変数006 = 変数001
  ¥v[2]:変数006 = 変数002
  ¥v[3]:変数006 = 変数003
条件分岐:変数005 == 2
  選択肢の表示:¥v[1],¥v[2]
  ¥v[1]:変数006 = 変数001
  ¥v[2]:変数006 = 変数002
条件分岐:変数005 == 1
  選択肢の表示:¥v[1]
  ¥v[1]:変数006 = 変数001
セッティングをしっかりしている分、こちらは簡単です。
選択肢の数だけは条件分岐を使って4パターン作りますが
内容は文字列を入れた変数のおかげで1パターンで済むのです。
普通は選択肢の先に、その選択肢を選んだ場合の処理を入れますが
ここでは「変数006に選ばれた選択肢の名前をコピー」するだけです。
この処理は選択肢の内容に関係なく
増減選択肢全てで共通なので、コモンイベントにしてしまっても良いでしょう。

選択後の処理
条件分岐:$game_variables[6] == ××
最後に、どの選択肢が選ばれたかを判定しましょう。
この条件分岐は変数006に入っている文字列が××かどうかを判定します。
つまり「選ばれた選択肢の名前が××かどうか」を判定できます。
(重ねて言いますが××は"エリック"のように書く必要がありますので注意!)

この条件分岐の先に、××の選択肢を選んだ場合の処理を入れます。
例えばパーティメンバーの選択肢であれば
パーティメンバーの数だけ条件分岐を作っていくことになります。
選択肢の処理と、個別の処理を別けることで
重複なくスッキリとイベントが組める、というのがこのテクニックの趣旨です。

拍手[10回]

PR
-->
Responses0 Responses
  • お名前
  • タイトル
  • メールアドレス
  • URL
  • パスワード

ブログ内検索

アーカイブ

最新コメント

[01/20 NONAME]
[01/16 NONAME]
[12/30 NONAME]
[12/13 NONAME]
[12/01 NONAME]

プロフィール

バナー

HN:奈々(なな)
RPGツクールVXAceを中心に製作を行っています。 スクリプト、イラスト、ドット絵など広くちょこちょこ手を出していますので、 できる範囲で他のツクーラーさんのお手伝いができたらなと思っています。