3407
コメント:
|
5621
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 3: | 行 3: |
ジョイスティックを使ったゲームを作ります。 | 主人公をジョイスティックを使って動かして遊ぶゲームを作ります。 |
行 6: | 行 6: |
---- === 前回まで === |
|
行 7: | 行 9: |
内容例 | 前回分は [[etoys真偽値型の変数を利用する|真偽値型の変数を利用する]] のページを参照してください。 画面例 . {{attachment:game31.png}} ここまでできていました。 |
行 9: | 行 17: |
. いくつかある障害物のところは通れない。 | |
行 10: | 行 19: |
. ゴールを守っている敵にぶつかったら、スタート位置にもどされる。 画面例 . {{attachment:game10.png}} |
. アイテムを取ると動作が変わる。 |
行 14: | 行 21: |
=== 絵を配置する === 次の絵を描いて配置しました。 . 主人公 . 敵(カエル) . ゴール(宝箱) . 障害物(山) |
=== 今回分 === . ゴール(またはアイテム、宝など)を守っている敵を配置する。 . 敵にそれらしい動きをつける。 . 主人公が敵とであったときの処理を記述する。 . ゲームバランスを調整する。 . 他の人に遊んでもらえるように画面を整える。 ---- === 敵を配置し、動きをつける === ゴール(またはアイテム、宝など)を守っているような動きをつけましょう。 動かし方は [[etoys変数を使った動き|変数を使った動き]] のページを参考にしてください。 ---- === 主人公が敵とで当たったときの処理 === ---- === ゲームバランスを調整する === ---- === 他の人に遊んでもらえるように画面を整える === |
行 24: | 行 46: |
[[etoysジョイスティック|ジョイスティック]] のページを参考にして、 主人公をジョイスティックを使って動かせるようにします。 |
|
行 28: | 行 47: |
. ジョイスティックを配置します。 . 主人公を動かすスクリプトを作ります。 |
. ジョイスティックを配置し、主人公を動かすスクリプトを作ります。 |
行 31: | 行 49: |
X方向に動かすためのスクリプトはこのようになります。 | . X方向に動かすためのスクリプトはこのようになります。 |
行 33: | 行 51: |
Y方向についても同様に記述し、追加します。 | . Y方向についても同様に記述し、追加します。 |
行 36: | 行 54: |
ゴールについたら、クリアできたことを示した後、スクリプトを停止します。 | . ゴールについたら、クリアできたことを示した後、スクリプトを停止します。 |
行 39: | 行 57: |
障害物にぶつかったら、主人公をスタート位置にもどします。 | . 障害物にぶつかったら、主人公をスタート位置にもどします。 |
行 42: | 行 60: |
敵にぶつかった時も、主人公をスタート位置にもどします。 | . 敵にぶつかった時も、主人公をスタート位置にもどします。 |
行 49: | 行 67: |
面白い動きを考えて、スクリプトを作ります。 | . ゴールを守るための面白い動きを考えて、スクリプトを作ります。 |
行 54: | 行 72: |
敵の動きや配置などを考え、クリアするのがやや難しい程度にするとよい。 ---- |
敵の動きや配置などを考え、クリアするのが難しい程度にするとよい。 ----- |
行 70: | 行 88: |
クレーンゲームを作ったときには、 人形がクレーンで持ち上げられるかどうかの判定が大変でした。 |
|
行 74: | 行 90: |
値として覚えておくと簡単にできます。 | 値として覚えておくと処理が簡単です。 |
行 77: | 行 93: |
. 変数名はリンゴを持っているにしました。 . 変数の左にあるメニューをクリックし、変数型をBooleanに変更します。 |
. 変数名は'''リンゴを持っている'''にしました。 . 変数の左にあるメニューをクリックし、変数型を'''Boolean'''に変更します。 |
行 84: | 行 100: |
. 変数の値をはいにすると一緒に動き . 変数の値がいいえのときは動かない |
. 変数の値を'''はい'''にすると一緒に動き . 変数の値が'''いいえ'''のときは動かない |
行 87: | 行 103: |
---- === アイテムを取る === 主人公がアイテムのある場所に行ったら、変数の値を'''はい'''に変えます。 ---- === アイテムを持っているとき === 敵や障害物に出会ったときの処理です。 . 変数の値が'''いいえ'''の場合はすでに記述しました。 . 変数の値が'''はい'''の場合の処理を追加します。 敵にぶつかったときの処理を変える例です。 . アイテムをもっていないときの処理がこのようになっていたとします。 . {{attachment:game18.png}} . テストタイルを追加し、変数の値が'''はい'''か'''いいえ'''かの判定をします。 . {{attachment:game19.png}} . 変数が'''いいえ'''のときだけ、アイテムをもっていない時の処理をすればよいのでこのようになります。 . {{attachment:game20.png}} ---- === スタートボタンを作る === スタートボタンを作って完成です。 処理内容は . 主人公をスタート位置に配置する . アイテムを指定の位置に配置する . 変数の値をいいえにする . スクリプトをスタートする(主人公、敵、アイテム) ---- === 動作確認(2) === もういちど動作確認をします。 . クリアした後でも、スタートボタンで再び開始できること。 . アイテムを持っていないときは、クリアするのが難しいこと。 . アイテムを取った後は、クリアするのが易しいこと。 |
ジョイスティックを使ったゲーム
主人公をジョイスティックを使って動かして遊ぶゲームを作ります。
以下の例を参考にして、楽しいものを作りましょう。
前回まで
前回分は 真偽値型の変数を利用する のページを参照してください。
画面例
ここまでできていました。
- 主人公をジョイスティックを使って動かす。
- いくつかある障害物のところは通れない。
- ゴールにたどり着いたら終わり。
- アイテムを取ると動作が変わる。
今回分
- ゴール(またはアイテム、宝など)を守っている敵を配置する。
- 敵にそれらしい動きをつける。
- 主人公が敵とであったときの処理を記述する。
- ゲームバランスを調整する。
- 他の人に遊んでもらえるように画面を整える。
敵を配置し、動きをつける
ゴール(またはアイテム、宝など)を守っているような動きをつけましょう。
動かし方は 変数を使った動き のページを参考にしてください。
主人公が敵とで当たったときの処理
ゲームバランスを調整する
他の人に遊んでもらえるように画面を整える
主人公の動きを記述する
ジョイスティックで動かせるようにする
ゴールについた時の処理を記述する
- ゴールについたら、クリアできたことを示した後、スクリプトを停止します。
障害物にぶつかった時の処理を記述する
- 障害物にぶつかったら、主人公をスタート位置にもどします。
敵にぶつかった時の処理を記述する
- 敵にぶつかった時も、主人公をスタート位置にもどします。
主人公のスクリプトはこのようになります。
敵の動きを記述する
- ゴールを守るための面白い動きを考えて、スクリプトを作ります。
動作確認(1)
ここまでの動作確認をしっかりしておきます。
敵の動きや配置などを考え、クリアするのが難しい程度にするとよい。
アイテムの追加
アイテムを配置し、 主人公がこれを取った後では クリアしやすくなるようにします。
例
- 速く動けるようになる薬。
- 敵より強くなる武器。
- 障害物に穴をあける道具。
りんごを配置しました。
判定のための変数を作る
アイテムを取ったかどうかを変数(属性の一種)の 値として覚えておくと処理が簡単です。
主人公のビューア上部のVの部分を押して、変数を作ります。
アイテムが主人公と一緒に動くようにする
上で作成した変数を使うと簡単に書けます。
ことを確認しておきます。
アイテムを取る
主人公がアイテムのある場所に行ったら、変数の値をはいに変えます。
アイテムを持っているとき
敵や障害物に出会ったときの処理です。
変数の値がいいえの場合はすでに記述しました。
変数の値がはいの場合の処理を追加します。
敵にぶつかったときの処理を変える例です。
- アイテムをもっていないときの処理がこのようになっていたとします。
テストタイルを追加し、変数の値がはいかいいえかの判定をします。
変数がいいえのときだけ、アイテムをもっていない時の処理をすればよいのでこのようになります。
スタートボタンを作る
スタートボタンを作って完成です。 処理内容は
- 主人公をスタート位置に配置する
- アイテムを指定の位置に配置する
- 変数の値をいいえにする
- スクリプトをスタートする(主人公、敵、アイテム)
動作確認(2)
もういちど動作確認をします。
- クリアした後でも、スタートボタンで再び開始できること。
- アイテムを持っていないときは、クリアするのが難しいこと。
- アイテムを取った後は、クリアするのが易しいこと。