| 
  
   サイズ: 1794 
  
  コメント:  
 | 
    ← 2012-06-29 00:17:31時点のリビジョン34  ⇥ 
  サイズ: 3685 
  
  コメント:  
 | 
| 削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 | 
| 行 1: | 行 1: | 
| #acl All: | |
| 行 3: | 行 2: | 
| ジョイスティックを使ったゲームを作ります。 | 主人公をジョイスティックを使って動かして遊ぶゲームを作ります。 | 
| 行 6: | 行 5: | 
| ---- === 前回まで ===  | 
|
| 行 7: | 行 8: | 
| 内容例 | 前回分は [[etoys真偽値型の変数を利用する|真偽値型の変数を利用する]] のページを参照してください。 画面例 . {{attachment:game31.png}} ここまでできていました。  | 
| 行 9: | 行 16: | 
| . いくつかある障害物のところは通れない。 | |
| 行 10: | 行 18: | 
|  . ゴールを守っている敵にぶつかったら、スタート位置にもどされる。 画面例 . {{attachment:game10.png}}  | 
. アイテムを取ると動作が変わる。 | 
| 行 14: | 行 20: | 
| === 絵を配置する === 次の絵を描いて配置しました。 . 主人公 . 敵(カエル) . ゴール(宝箱) . 障害物(山)  | 
=== 今回追加分 === . ゴール(またはアイテム、宝など)を守っている敵を配置する。 . 敵にそれらしい動きをつける。 . 主人公が敵とであったときの処理を記述する。 . ゲームバランスを調整する。 . 他の人に遊んでもらえるように画面を整える。  | 
| 行 21: | 行 27: | 
| === ジョイスティックで動かせるようにする === [[etoysジョイスティック|ジョイスティック]] のページを参考にして、 主人公をジョイスティックを使って動かせるようにします。  | 
=== 敵を配置し、動きをつける === ゴール(またはアイテム、宝など)を守っているような動きをつけましょう。  | 
| 行 26: | 行 30: | 
|  1. ジョイスティックを配置します。 1. 主人公を動かすスクリプトを作ります。  | 
動かし方は [[etoys変数を使った動き|変数を使った動き]] のページを参考にしてください。  | 
| 行 29: | 行 34: | 
| X方向に動かすためのスクリプトはこのようになります。 . {{attachment:game13.png}} Y方向についても同様に記述し、追加します。  | 
|
| 行 33: | 行 35: | 
| === ゴールについた時の処理を記述する === ゴールについたら、クリアできたことを示した後、スクリプトを停止します。  | 
=== 主人公が敵と当たったときの処理 === これまで主人公の動作は(初期化を除いて) 主人公のスクリプトとして記述してきました。 主人公が敵と当たったときの処理は 敵を主体として考えれば、 敵のスクリプトとして記述することもできます。 今回は'''敵のスクリプト内に記述'''してみましょう。 '''利点''' 正しく動作している主人公のスクリプトを 修正しなくてすみます。 主人公に関する命令を敵のスクリプト内に記述することになるので 注意して作成してください。 ==== 例1 ==== . 主人公が敵と当たったとき、主人公を特定の位置に移動します。 敵を主語にして、文を書き直すとこうなります。 . 敵が主人公と当たったとき、主人公を特定の位置に移動します。 スクリプト . この内容が敵のスクリプトのテストタイルに記述されています。 . {{attachment:game42.png}} ==== 例2 ==== . 敵が主人公と当たったとき、主人公を下方向に50移動します。 . {{attachment:game43.png}} ==== 例3 ==== . 主人公が敵と当たったとき「アイテムをなくしてしまう」も面白いと思います。  | 
| 行 36: | 行 67: | 
| === 障害物にぶつかった時の処理を記述する === 障害物にぶつかったら、主人公をスタート位置にもどします。  | 
=== ゲームバランスを調整する === ゲームとして楽しめる程度の難しさにしましょう。 つぎのような点を調整するとよい。 . 敵の配置、動き方 . 障害物の配置 . アイテムの位置 . 主人公の初期位置 . 主人公の移動速度 . 主人公が敵と当たったときの処理 また、アイテムがどんなもので どんな効果があるのかを考るとよい。 例えば . 速く動けるようになる薬。 . 敵を眠らせてしまう薬。 . 扉のカギ。  | 
| 行 39: | 行 87: | 
| === 敵にぶつかった時の処理を記述する === 敵にぶつかった時も、主人公をスタート位置にもどします。 主人公のスクリプトはこのようになります。 . オレンジ色で示した部分に、記述が必要です。 . {{attachment:game14.png}}  | 
=== 他の人に遊んでもらえるように画面を整える === スクリプト関係 . スタートボタンを押すだけで何度でも遊ぶことができるように。 . ゴールについたら、クリアできたことを示す。 画面関係 . 障害物など動かないものは、動かせないようにする。 . スクリプトやビューアなどはたたんでおく。  | 
ジョイスティックを使ったゲーム
主人公をジョイスティックを使って動かして遊ぶゲームを作ります。
以下の例を参考にして、楽しいものを作りましょう。
前回まで
前回分は 真偽値型の変数を利用する のページを参照してください。
画面例
ここまでできていました。
- 主人公をジョイスティックを使って動かす。
 - いくつかある障害物のところは通れない。
 - ゴールにたどり着いたら終わり。
 - アイテムを取ると動作が変わる。
 
今回追加分
- ゴール(またはアイテム、宝など)を守っている敵を配置する。
 - 敵にそれらしい動きをつける。
 - 主人公が敵とであったときの処理を記述する。
 - ゲームバランスを調整する。
 - 他の人に遊んでもらえるように画面を整える。
 
敵を配置し、動きをつける
ゴール(またはアイテム、宝など)を守っているような動きをつけましょう。
動かし方は 変数を使った動き のページを参考にしてください。
主人公が敵と当たったときの処理
これまで主人公の動作は(初期化を除いて) 主人公のスクリプトとして記述してきました。
- 主人公が敵と当たったときの処理は 敵を主体として考えれば、 敵のスクリプトとして記述することもできます。
 
今回は敵のスクリプト内に記述してみましょう。
利点 正しく動作している主人公のスクリプトを 修正しなくてすみます。
主人公に関する命令を敵のスクリプト内に記述することになるので 注意して作成してください。
例1
- 主人公が敵と当たったとき、主人公を特定の位置に移動します。
 
敵を主語にして、文を書き直すとこうなります。
- 敵が主人公と当たったとき、主人公を特定の位置に移動します。
 
スクリプト
- この内容が敵のスクリプトのテストタイルに記述されています。
 
 
例2
- 敵が主人公と当たったとき、主人公を下方向に50移動します。
 
 
例3
- 主人公が敵と当たったとき「アイテムをなくしてしまう」も面白いと思います。
 
ゲームバランスを調整する
ゲームとして楽しめる程度の難しさにしましょう。
つぎのような点を調整するとよい。
- 敵の配置、動き方
 - 障害物の配置
 - アイテムの位置
 - 主人公の初期位置
 - 主人公の移動速度
 - 主人公が敵と当たったときの処理
 
また、アイテムがどんなもので どんな効果があるのかを考るとよい。 例えば
- 速く動けるようになる薬。
 - 敵を眠らせてしまう薬。
 - 扉のカギ。
 
他の人に遊んでもらえるように画面を整える
スクリプト関係
- スタートボタンを押すだけで何度でも遊ぶことができるように。
 - ゴールについたら、クリアできたことを示す。
 
画面関係
- 障害物など動かないものは、動かせないようにする。
 - スクリプトやビューアなどはたたんでおく。
 
