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

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

例えばこのような画面で

いくつかある障害物のところは通れない。

途中でアイテムを取ってからでないと、ゴールできない。

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

例えば

アイテムを取った後では障害物の１つは通れる

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

変数の利用

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

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

アイテムを取る前は値が「いいえ」

アイテムを取った後は値が「はい」

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

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

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

変数名をわかりやすくつけます

種類を真偽値型 にします

このようになります。

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

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

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

単純な例を示します。

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

障害物にぶつかったとき

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

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

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

考え方

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

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

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

スタートボタン

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

オブジェクトを指定の位置に配置したり、

必要なスクリプトをスタートさせる

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

変数「アイテムを持っている」の値をいいえ にしておきます。

アイテムを取ったとき

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

アイテムを取った後

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

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

次の内容についてはアイテムを取る前では行うが、アイテムを取った後では行わない、

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

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

テストの右に変数の名前の部分をドラッグして入れます。

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

このようになります。

これを読むと

主人公がアイテムを持っているが

いいえのときで

障害物と重なったときは

音をならす

です。つまり

主人公がアイテムを持っていなくて、障害物と重なったときは音をならす

となります。

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

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