結果を画面に表示してみる
ゲームの動作パーツとしてはここまでで完成です。
ただ「ほんとにちゃんと作れているか」を確認する必要があります。
確認のために、ランダムで選ばれた4枚のカードを表示する画面を作っていきます。
4枚のカードを表示する
ここで操作するシナリオを切り替えます。まずは保存ボタンを押して、「保存しました」表示が消えるまで待ってから作業を進めてください。
使うのは「scene1」のシナリオです。
今は最初に4枚「イメージ表示」のコンポーネントを置いただけの状態です。
今回は使わないので、最初からある「改ページ」「メッセ―ジ枠表示」「テキスト」コンポーネントは削除します。
先ほど作ったランダムの処理が書かれているanswer.ksへの「ジャンプ」コンポーネントと、戻り先になる「ラベル」コンポーネントを置きます。
ラベル名は「start」とします。
まずは、カード枚数分の「イメージ表示」コンポーネントを並べていきます。
ついでに、適当だった並び順も入れ替えておきます。
各カードの表示場所(横位置)は、各カードの変数に入っているので
- 横位置:&f.(カード名の変数)
(バナナなら「&f.banana」)
と入力しておきます。ここが変数を使って位置調整をするポイントです。
他は
- 縦位置:サンプル通りなら300
- 横幅&高さ:どちらも80
- 時間:1
と入力しておきましょう。
scene1.ksの作業はここで一度終わりです。「保存」ボタンを押して保存完了を待ってください。
今度は先ほど入れた「ジャンプ」コンポーネントでanswer.ksに進んだ後に戻ってくるための処理を入れます。
処理自体は簡単です。
シナリオの一番最後、「end」ラベルの下に「ジャンプ」コンポーネントを置きます。
- ストレージ:scene1.ks
- ターゲット:*start
これだけ設定したら「保存」ボタンを押してください。
結果を表示するだけなら、これで大丈夫です。
「保存」ボタンを押して「プレビュー」ボタンで見るとランダムで選ばれたカードが表示されます。
ゲーム画面として仕上げるには、おかしいところがひとつあります。一番左にあるカードです。
これはカード名の変数の中身が「0」だったカードです。1枚に見えますが、中央に表示されている4枚のカードを除いた6枚の画像が全部重なっています。
左のカードは邪魔なので、表示されないように「カード名の変数が0であればイメージ表示を飛ばす」ようにコンポーネントを並べていきます。
4枚以外のカードを表示しないようにする
各カードの「イメージ表示」コンポーネントの前にラベルを並べていきます。
全部のカードの最後にも、ラベル(end)を置きます。
先ほど置いたラベルの下に、「ジャンプ」コンポーネントを入れていきます。
- ターゲット:次のカードのラベル
- 「実行条件を設定する」にチェックを入れる
- A:(カード名の変数)
- B:「定数」・「0」
- 条件:「AとBが同じ場合」
「反映」ボタンを押すのを忘れずに。
これで、そのカードがランダムで選ばれていない場合(=カードの変数が0のままの場合)は次のラベルに飛ぶので、カードの画像が表示されなくなります。
動作確認をしておこう
「動作確認」というと範囲が広いですが、今回はまず最低ラインとして「全てのカードが表示される」ことを確認しましょう。
- カードの一覧を用意する
- プレビュー画面でカードを表示する
- 一覧にある表示された4枚の箇所に印をつける
- 決定ボタンを押して、またカードを表示する
- 表示された4枚のうち、まだ印の無いカードに印をつける
- 4と5を、全カードに印がつくまで繰り返す
104回、20回とやっても表示されないカードがあったり表示されない場所があったりする場合は、処理を追いながら間違っている場所を探してみてください。
私も完成までには結構な数のスペルミスや手順ミスでの間違いをしています……。同じパターンを繰り返していると、ちゃんとしているつもりでもボタンを押し忘れて上書きされてないとか、コピーしたコンポーネントが1つ抜けていたりとか。
一つずつ直して、きちんと動くことを確認してから、次のステップに進みましょう。
次回はプレイヤーが回答するための操作画面と仕組みを作っていきます。
更新予定日は未定ですが、どうぞまたお付き合いください(_)