welcome: please sign in
location: "etoysジョイスティックを使ったゲーム"の差分
14と24のリビジョン間の差分 (その間の編集: 10回)
2011-06-28 12:03:58時点のリビジョン14
サイズ: 4359
編集者: masahiko
コメント:
2012-06-21 05:52:59時点のリビジョン24
サイズ: 5148
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 3: 行 3:
ジョイスティックを使っゲームを作ります。 主人公をジョイスティックを使って動かして遊ぶゲームを作ります。  
行 5: 行 6:
----
=== 前回まで ===
画面例
 . {{attachment:game31.png}}
ここまでできていました。
 . 主人公をジョイスティックを使って動かす。
 . いくつかある障害物のところは通れない。
 . ゴールにたどり着いたら終わり。
 . アイテムを取ると動作が変わる。
----
=== 今回分 ===
 . ゴール(またはアイテム、宝など)を守っている敵を配置する。
 . 敵にそれらしい動きをつける。
 . 主人公が敵とであったときの処理を記述する。
 . ゲームバランスを調整する。
 . 他の人に遊んでもらえるように画面を整える。
----
行 6: 行 24:
次の項目の応用です。
 . ジョイスティック
 . 変数

内容例
 . 主人公をジョイスティックを使って動かす。
 . ゴールにたどり着いたら終わり。
 . ゴールを守っている敵にぶつかったら、スタート位置にもどされる。
画面例
 . {{attachment:game10.png}}
----
行 27: 行 34:
 [[etoysジョイスティック|ジョイスティック]]
 のページを参考にして、
 主人公をジョイスティックを使って動かせるようにします。
行 31: 行 35:
 . ジョイスティックを配置します。
 .
主人公を動かすスクリプトを作ります。
 . ジョイスティックを配置し主人公を動かすスクリプトを作ります。
行 34: 行 37:
 X方向に動かすためのスクリプトはこのようになります。  . X方向に動かすためのスクリプトはこのようになります。
行 36: 行 39:
 Y方向についても同様に記述し、追加します。  . Y方向についても同様に記述し、追加します。
行 39: 行 42:
 ゴールについたら、クリアできたことを示した後、スクリプトを停止します。  . ゴールについたら、クリアできたことを示した後、スクリプトを停止します。
行 42: 行 45:
 障害物にぶつかったら、主人公をスタート位置にもどします。  . 障害物にぶつかったら、主人公をスタート位置にもどします。
行 45: 行 48:
 敵にぶつかった時も、主人公をスタート位置にもどします。  . 敵にぶつかった時も、主人公をスタート位置にもどします。
行 52: 行 55:
 面白い動きを考えて、スクリプトを作ります。  . ゴールを守るための面白い動きを考えて、スクリプトを作ります。
行 57: 行 60:
敵の動きや配置などを考え、クリアするのがやや難しい程度にするとよい。 敵の動きや配置などを考え、クリアするのが難しい程度にするとよい。
行 73: 行 76:
クレーンゲームを作ったときには、
人形がクレーンで持ち上げられるかどうかの判定が大変でした。
行 77: 行 78:
値として覚えておくと簡単きます。 値として覚えておくと処理が簡単です。
行 80: 行 81:
 . 変数名はリンゴを持っているにしました。
 . 変数の左にあるメニューをクリックし、変数型をBooleanに変更します。
 . 変数名は'''リンゴを持っている'''にしました。
 . 変数の左にあるメニューをクリックし、変数型を'''Boolean'''に変更します。
行 100: 行 101:
処理内容により、主人公のスクリプトに追加したほうが良い場合と、
敵のスクリプトに追加したほうが良い場合があります。
敵にぶつかったときの処理を変える例です。
 . アイテムをもっていないときの処理がこのようになっていたとします。
 . {{attachment:game18.png}}
 . テストタイルを追加し、変数の値が'''はい'''か'''いいえ'''かの判定をします。
 . {{attachment:game19.png}}
 . 変数が'''いいえ'''のときだけ、アイテムをもっていない時の処理をすればよいのでこのようになります。
 . {{attachment:game20.png}}
行 110: 行 116:
 . スクリプトをスタートする  . スクリプトをスタートする(主人公、敵、アイテム)
----
=== 動作確認(2) ===

もういちど動作確認をします。

 . クリアした後でも、スタートボタンで再び開始できること。
 . アイテムを持っていないときは、クリアするのが難しいこと。
 . アイテムを取った後は、クリアするのが易しいこと。

ジョイスティックを使ったゲーム

主人公をジョイスティックを使って動かして遊ぶゲームを作ります。

以下の例を参考にして、楽しいものを作りましょう。


前回まで

画面例

  • game31.png

ここまでできていました。

  • 主人公をジョイスティックを使って動かす。
  • いくつかある障害物のところは通れない。
  • ゴールにたどり着いたら終わり。
  • アイテムを取ると動作が変わる。


今回分

  • ゴール(またはアイテム、宝など)を守っている敵を配置する。
  • 敵にそれらしい動きをつける。
  • 主人公が敵とであったときの処理を記述する。
  • ゲームバランスを調整する。
  • 他の人に遊んでもらえるように画面を整える。


絵を配置する

次の絵を描いて配置しました。

  • 主人公
  • 敵(カエル)
  • ゴール(宝箱)
  • 障害物(山)


主人公の動きを記述する

ジョイスティックで動かせるようにする

  • ジョイスティックを配置し、主人公を動かすスクリプトを作ります。
  • X方向に動かすためのスクリプトはこのようになります。
  • [添付]

  • Y方向についても同様に記述し、追加します。

ゴールについた時の処理を記述する

  • ゴールについたら、クリアできたことを示した後、スクリプトを停止します。

障害物にぶつかった時の処理を記述する

  • 障害物にぶつかったら、主人公をスタート位置にもどします。

敵にぶつかった時の処理を記述する

  • 敵にぶつかった時も、主人公をスタート位置にもどします。

主人公のスクリプトはこのようになります。

  • オレンジ色で示した部分に、記述が必要です。
  • [添付]


敵の動きを記述する

  • ゴールを守るための面白い動きを考えて、スクリプトを作ります。


動作確認(1)

ここまでの動作確認をしっかりしておきます。

敵の動きや配置などを考え、クリアするのが難しい程度にするとよい。


アイテムの追加

アイテムを配置し、 主人公がこれを取った後では クリアしやすくなるようにします。

  • 速く動けるようになる薬。
  • 敵より強くなる武器。
  • 障害物に穴をあける道具。

りんごを配置しました。

  • [添付]


判定のための変数を作る

アイテムを取ったかどうかを変数(属性の一種)の 値として覚えておくと処理が簡単です。

主人公のビューア上部のVの部分を押して、変数を作ります。

  • 変数名はリンゴを持っているにしました。

  • 変数の左にあるメニューをクリックし、変数型をBooleanに変更します。

  • [添付]


アイテムが主人公と一緒に動くようにする

上で作成した変数を使うと簡単に書けます。

  • [添付]

  • 変数の値をはいにすると一緒に動き

  • 変数の値がいいえのときは動かない

ことを確認しておきます。


アイテムを取る

主人公がアイテムのある場所に行ったら、変数の値をはいに変えます。


アイテムを持っているとき

敵や障害物に出会ったときの処理です。

  • 変数の値がいいえの場合はすでに記述しました。

  • 変数の値がはいの場合の処理を追加します。

敵にぶつかったときの処理を変える例です。

  • アイテムをもっていないときの処理がこのようになっていたとします。
  • [添付]

  • テストタイルを追加し、変数の値がはいいいえかの判定をします。

  • [添付]

  • 変数がいいえのときだけ、アイテムをもっていない時の処理をすればよいのでこのようになります。

  • [添付]


スタートボタンを作る

スタートボタンを作って完成です。 処理内容は

  • 主人公をスタート位置に配置する
  • アイテムを指定の位置に配置する
  • 変数の値をいいえにする
  • スクリプトをスタートする(主人公、敵、アイテム)


動作確認(2)

もういちど動作確認をします。

  • クリアした後でも、スタートボタンで再び開始できること。
  • アイテムを持っていないときは、クリアするのが難しいこと。
  • アイテムを取った後は、クリアするのが易しいこと。

etoysジョイスティックを使ったゲーム (最終更新日時 2012-06-29 00:17:31 更新者 masahiko)