#acl All: == ジョイスティックを使ったゲーム == 主人公をジョイスティックを使って動かして遊ぶゲームを作ります。 以下の例を参考にして、楽しいものを作りましょう。 ---- === 前回まで === 前回分は [[etoys真偽値型の変数を利用する|真偽値型の変数を利用する]] のページを参照してください。 画面例 . {{attachment:game31.png}} ここまでできていました。 . 主人公をジョイスティックを使って動かす。 . いくつかある障害物のところは通れない。 . ゴールにたどり着いたら終わり。 . アイテムを取ると動作が変わる。 ---- === 今回追加分 === . ゴール(またはアイテム、宝など)を守っている敵を配置する。 . 敵にそれらしい動きをつける。 . 主人公が敵とであったときの処理を記述する。 . ゲームバランスを調整する。 . 他の人に遊んでもらえるように画面を整える。 ---- === 敵を配置し、動きをつける === ゴール(またはアイテム、宝など)を守っているような動きをつけましょう。 動かし方は [[etoys変数を使った動き|変数を使った動き]] のページを参考にしてください。 ---- === 主人公が敵と当たったときの処理 === これまで主人公の動作は(初期化を除いて) 主人公のスクリプトとして記述してきました。 主人公が敵と当たったときの処理は 敵を主体として考えれば、 敵のスクリプトとして記述することもできます。 今回は'''敵のスクリプト内に記述'''してみましょう。 正しく動作している主人公のスクリプトを 修正しなくてすみます。 主人公に関する命令を敵のスクリプト内に記述することになるので 注意して作成してください。 '''例''' . 主人公が敵と当たったとき、主人公を特定の位置に移動します。 敵を主語にして、文を書き直すと . 敵が主人公と当たったとき、主人公を特定の位置に移動します。 ---- === ゲームバランスを調整する === 敵の動きや配置などを考え、クリアするのが難しい程度にするとよい。 アイテムを配置し、 主人公がこれを取った後では クリアしやすくなるようにします。 例 . 速く動けるようになる薬。 . 敵より強くなる武器。 . 障害物に穴をあける道具。 ---- === 他の人に遊んでもらえるように画面を整える === . ゴールについたら、クリアできたことを示した後、スクリプトを停止します。 . スタートボタンを押すだけで何度でも遊ぶことができる。 ----