#acl All: == 真偽値型の変数を利用する == 主人公をジョイスティックを使って動かして遊ぶゲームを作ります。 . {{attachment:game31.png}} 例えばこのような画面で * いくつかある障害物のところは通れない。 * 途中でアイテムを取ってからでないと、ゴールできない。 という条件で作ることにします。 例えば . アイテムを取った後では障害物の1つは通れる ことにすれば上の画面でもゴールできるようになります。 (他のアイデアでもかまいません) ---- === 変数の利用 === アイテムを取ったかどうかを 真偽値型の変数を用いて表すことができます。 主人公の変数「'''アイテムを持っている'''」を * アイテムを取る前は値が「いいえ」 * アイテムを取った後は値が「はい」 となるようにして使います。 こうしておくと、 アイテムを取った後か取る前かを、変数の値を参照するだけで判定でき スクリプトが簡単になります。 主人公のビューアを開き 変数を作成します。 . 変数名をわかりやすくつけます . 種類を'''真偽値型'''にします このようになります。 . {{attachment:game32.png}} 値は「はい」「いいえ」のどちらかになります。 ---- === ジョイスティックで動かす === 主人公をジョイスティックで動かせるようにします。 単純な例を示します。 . {{attachment:game33.png}} くわしくは[[etoysジョイスティック|ジョイスティック]]のページを参照してください。 ---- === 障害物にぶつかったとき === 障害物のところは通れないようにします。 障害物に当たったかどうか判定し、 あたっていないときだけ動けばよいので このように書けそうですが… . {{attachment:game34.png}} この方法では 障害物に当たったら そのあとずっと動けなくなってしまいます。 ==== 解決方法 ==== とりあえず動かしてみて、 障害物にぶつかったら直前の位置にもどせばよい。 進むで移動していたときは、同じ値だけ逆方向に進ませれば元の位置にもどります。 . {{attachment:game35.png}} ---- === スタートボタン === 変数'''アイテムを持っている'''の値を'''いいえ'''にしておきます。 ---- === アイテムを取ったとき === 変数'''アイテムを持っている'''の値を'''はい'''に変えます。 ---- === アイテムを取った後 === 変数'''アイテムを持っている'''の値により処理を変えます。 ---- 次回続きを作り、ゲームを完成させます。