#acl All: == ジョイスティックを使ったゲーム == ジョイスティックを使ったゲームを作ります。 以下の例を参考にして、楽しいものを作りましょう。 次の項目の応用です。 . ジョイスティック . 変数 内容例 . 主人公をジョイスティックを使って動かす。 . ゴールにたどり着いたら終わり。 . ゴールを守っている敵にぶつかったら、スタート位置にもどされる。 画面例 . {{attachment:game10.png}} ---- === 絵を配置する === 次の絵を描いて配置しました。 . 主人公 . 敵(カエル) . ゴール(宝箱) . 障害物(山) ---- === 主人公の動きを記述する === ==== ジョイスティックで動かせるようにする ==== [[etoysジョイスティック|ジョイスティック]] のページを参考にして、 主人公をジョイスティックを使って動かせるようにします。 . ジョイスティックを配置します。 . 主人公を動かすスクリプトを作ります。 X方向に動かすためのスクリプトはこのようになります。 . {{attachment:game13.png}} Y方向についても同様に記述し、追加します。 ==== ゴールについた時の処理を記述する ==== ゴールについたら、クリアできたことを示した後、スクリプトを停止します。 ==== 障害物にぶつかった時の処理を記述する ==== 障害物にぶつかったら、主人公をスタート位置にもどします。 ==== 敵にぶつかった時の処理を記述する ==== 敵にぶつかった時も、主人公をスタート位置にもどします。 主人公のスクリプトはこのようになります。 . オレンジ色で示した部分に、記述が必要です。 . {{attachment:game14.png}} ---- === 敵の動きを記述する === 面白い動きを考えて、スクリプトを作ります。 ---- === 動作確認(1) === ここまでの動作確認をしっかりしておきます。 敵の動きや配置などを考え、クリアするのがやや難しい程度にするとよい。 ----- === アイテムの追加 === アイテムを配置し、 主人公がこれを取った後では クリアしやすくなるようにします。 例 . 速く動けるようになる薬。 . 敵より強くなる武器。 . 障害物に穴をあける道具。 りんごを配置しました。 . {{attachment:game15.png}} ---- === 判定のための変数を作る === クレーンゲームを作ったときには、 人形がクレーンで持ち上げられるかどうかの判定が大変でした。 アイテムを取ったかどうかを変数(属性の一種)の 値として覚えておくと簡単にできます。 主人公のビューア上部の'''V'''の部分を押して、変数を作ります。 . 変数名はリンゴを持っているにしました。 . 変数の左にあるメニューをクリックし、変数型をBooleanに変更します。 . {{attachment:game16.png}} ---- === アイテムが主人公と一緒に動くようにする === 上で作成した変数を使うと簡単に書けます。 . {{attachment:game17.png}} . 変数の値を'''はい'''にすると一緒に動き . 変数の値が'''いいえ'''のときは動かない ことを確認しておきます。 ---- === アイテムを取る === 主人公がアイテムのある場所に行ったら、変数の値を'''はい'''に変えます。 ---- === アイテムを持っているとき === 敵や障害物に出会ったときの処理です。 . 変数の値が'''いいえ'''の場合はすでに記述しました。 . 変数の値が'''はい'''の場合の処理を追加します。 処理内容により、主人公のスクリプトに追加したほうが良い場合と、 敵のスクリプトに追加したほうが良い場合があります。 ---- === スタートボタンを作る === スタートボタンを作って完成です。 処理内容は . 主人公をスタート位置に配置する . アイテムを指定の位置に配置する . 変数の値をいいえにする . スクリプトをスタートする