ノベルゲームウィザード

選択肢・ボタンの表示


ここでは選択肢やボタンの表示と分岐処理について解説します。
下記のチュートリアルに沿って学びたい方は、あらかじめ内容が空のページをゲーム開始時のページとして設定してください。

分岐処理とは


ゲームプレイ中のユーザーが選択肢や複数のボタンからいずれかを選択することで、その後の処理が変わることを言います。
ノベルゲームウィザードの分岐処理は、前章の「ページの移動・ラベルジャンプ」で説明している「次のページへ移動」の仕組みとだいたい同じで、 各選択肢や各ボタンに「次のページへ移動」とだいたい同じ仕組みがあると思ってもらってよいです。
ただし「次のページへ移動」とは特徴が異なる点もあるので次にそれを説明します。

分岐処理の特徴


分岐処理は以下の特徴を持ちます。

  • ラベルの指定がなく移動先のページが現在のページと同じ場合は、次の処理が開始される。
  • ラベルの指定がなく移動先のページが現在のページと異なる場合は、移動先のページの最初から処理が開始される。
  • ラベルの指定があり移動先のページが現在のページと同じ場合は、現在のページの最初から処理を追い指定ラベルまでスキップされる。
  • ラベルの指定があり移動先のページが現在のページと異なる場合は、指定のページの最初から指定ラベルまで処理がスキップされる。
  • 画面の情報(画像、ウィンドウ、テキスト、選択肢など)は前のページからそのまま引き継ぐ。

選択肢の処理を作ってみよう


ここからは簡単なサンプルを作って選択肢の動作を理解していきましょう。

まずは「ウィンドウの表示」と「選択肢の追加」を追加します。

選択肢・ボタンの表示-チュートリアル1

プロパティのテキストを 選択肢1 と設定します。

選択肢・ボタンの表示-チュートリアル2

2つ目の「選択肢の追加」を追加します。プロパティのテキストは 選択肢2。ラベルは label_1 と設定します。

選択肢・ボタンの表示-チュートリアル3

ここまでで実行しても画面にはなにも表示されません。

選択肢を表示するには、「選択ウィンドウを表示」の追加が必要です。
「選択ウィンドウを表示」を追加します。

選択肢・ボタンの表示-チュートリアル4

選択ウィンドウがテキストの表示に使うウィンドウと重ならないようプロパティの位置は (24,192) に設定します。

選択肢・ボタンの表示-チュートリアル5

次に分岐先の処理を追加していきます。
まずは選択肢1の処理から追加します。

「テキストの表示」を追加します。プロパティのテキストは「選択肢1が選ばれました。」と設定します。

選択肢・ボタンの表示-チュートリアル6

次に選択肢2の処理を追加します。

「ラベルの設置」を追加します。プロパティのラベルは label_1 と設定します。

選択肢・ボタンの表示-チュートリアル7

「テキストの表示」を追加します。プロパティのテキストは「選択肢2が選ばれました。」と設定します。

選択肢・ボタンの表示-チュートリアル8

それではテストプレイを実行してみましょう。
選択肢1を選ぶと「選択肢1が選ばれました。」と表示されました。

選択肢・ボタンの表示-チュートリアル9
選択肢・ボタンの表示-チュートリアル10

選択肢2を選ぶと「選択肢2が選ばれました。」と表示されました。

選択肢・ボタンの表示-チュートリアル11
選択肢・ボタンの表示-チュートリアル12

ただし現在の内容だと「選択肢1が選ばれました。」の表示後、「選択肢2が選ばれました。」が表示されてしまうため、
選択肢1の処理が実行された後に選択肢2の処理を飛ばす処理が必要です。

「選択肢1が選ばれました。」の「テキストの表示」のあとに、「次のページへ移動」を追加し、プロパティのラベルに label_2 と設定し、
「選択肢2が選ばれました。」の「テキストの表示」のあとに、「ラベルの設置」を追加し、プロパティのラベルに label_2 と設定しましょう。

選択肢・ボタンの表示-チュートリアル13

これで選択肢1の処理のあとに選択肢2の処理をスキップするようになりました。

ボタンの処理を作ってみよう


ここからはボタンの処理の簡単なサンプルを作って動作を理解していきます。
一度、空のページをゲーム開始時のページとして設定してください。

それでは、まずは「ウィンドウの表示」と「ボタンの追加」を追加します。

選択肢・ボタンの表示-チュートリアル14

プロパティのテキストを ボタン1 と設定、位置を (280,175) にします。

選択肢・ボタンの表示-チュートリアル15

2つ目の「ボタンの追加」を追加します。プロパティの番号を 1 に設定。テキストは ボタン2。位置を (680,175)。ラベルは label_1 と設定します。

選択肢・ボタンの表示-チュートリアル16

ここまでで実行しても画面にはなにも表示されません。

ボタンを表示するには、「ボタンを表示」の追加が必要です。
「ボタンを表示」を追加します。

選択肢・ボタンの表示-チュートリアル17

「ボタンを表示」にプロパティはありません。

選択肢・ボタンの表示-チュートリアル18

次に分岐先の処理を追加していきます。
まずはボタン1の処理から追加します。

「テキストの表示」を追加します。プロパティのテキストは「ボタン1が押されました。」と設定します。

選択肢・ボタンの表示-チュートリアル19

次にボタン2の処理を追加します。

「ラベルの設置」を追加します。プロパティのラベルは label_1 と設定します。

選択肢・ボタンの表示-チュートリアル20

「テキストの表示」を追加します。プロパティのテキストは「ボタン2が押されました。」と設定します。

選択肢・ボタンの表示-チュートリアル21

それではテストプレイを実行してみましょう。
ボタン1を選ぶと「ボタン1が押されました。」と表示されました。

選択肢・ボタンの表示-チュートリアル22
選択肢・ボタンの表示-チュートリアル23

ボタン2を選ぶと「ボタン2が押されました。」と表示されました。

選択肢・ボタンの表示-チュートリアル24
選択肢・ボタンの表示-チュートリアル25

ただし現在の内容だと「ボタン1が押されました。」の表示後、「ボタン2が押されました。」が表示されてしまうため、
ボタン1の処理が実行された後にボタン2の処理を飛ばす処理が必要です。

「ボタン1が選ばれました。」の「テキストの表示」のあとに、「次のページへ移動」を追加し、プロパティのラベルに label_2 と設定し、
「ボタン2が選ばれました。」の「テキストの表示」のあとに、「ラベルの設置」を追加し、プロパティのラベルに label_2 と設定しましょう。

選択肢・ボタンの表示-チュートリアル26

これでボタン1の処理のあとにボタン2の処理をスキップするようになりました。