1

真偽値型の変数を利用する

主人公をジョイスティックを使って動かして遊ぶゲームを作ります。

例えばこのような画面で

という条件で作ることにします。

例えば

ことにすれば上の画面でもゴールできるようになります。 (他のアイデアでもかまいません)


変数の利用

アイテムを取ったかどうかを 真偽値型の変数を用いて表すことができます。

主人公の変数「アイテムを持っている」を

となるようにして使います。

こうしておくと、 アイテムを取った後か取る前かを、変数の値を参照するだけで判定でき スクリプトが簡単になります。

主人公のビューアを開き 変数を作成します。

このようになります。

値は「はい」「いいえ」のどちらかです。


ジョイスティックで動かす

主人公をジョイスティックで動かせるようにします。

単純な例を示します。

くわしくはジョイスティックのページを参照してください。


障害物にぶつかったとき

障害物のところは通れないようにします。

障害物に当たったかどうか判定し、 あたっていないときだけ動けばよいので このように書けそうですが……

この方法では 障害物に当たったら そのあとずっと動けなくなってしまいます。

考え方

とりあえず動かしてみて、 障害物にぶつかったら直前の位置にもどせばよい。

例えば、右へ移動してぶつかったときは、同じ値だけ左へ移動すれば元の位置にもどります。

ジョイスティックで動かしているときも、 この考え方でスクリプトを書けます。


スタートボタン

スタートボタンが押されたときは

などの処理を行いますが、それに加えて


アイテムを取ったとき

アイテムを取ったとき 変数「アイテムを持っている」の値をはいに変えます。


アイテムを取った後

変数「アイテムを持っている」の値により処理を変えます。

障害物にぶつかったときの処理のうち

ようにする場合を例として説明します。

真偽値型の変数はテストの内容としてそのまま使えます。

このテスト結果がいいえのときだけ 処理を行えばよいので、 対応する内容のタイルをいいえの後ろに配置します。

このようになります。

これを読むと

です。つまり

となります。


アイテムを何にするかや、 アイテムを取ったあとの動作は 自由に考えて実現しましょう。

次回続きを作り、ゲームを完成させます。