-
Notifications
You must be signed in to change notification settings - Fork 0
1st term 3rd week
- プログラムを修正する(既存のプログラムを修正して機能を加える)
- コンポーネントを取得して操作する
- プレハブを元にして GameObject を生成する
- 前回のプロジェクトがあるなら 3rd_week_exercise.unitypackage をダウンロードし、インポートする
- なければ新しいプロジェクトを作ってダウンロード・インポートする
- Project ウィンドウからシーン Assets/3-Components/Components を探し、ダブルクリックして開く
これ以降は授業内で解説・説明します。
シーン実行中に BulletPrefab を Project ウインドウから Scene ビューにドラッグ&ドロップし、弾が飛んでいくことを確認せよ。確認したら、Fire1 ボタン(左クリック/左Ctrl)を押したらその弾がGunman から飛んでいくようにプログラムを修正せよ。
なお、プレハブを元にして GameObject を生成するには Instantiate() 関数を使う。
先の課題で弾を発射したが、弾を発射する時に銃口から出ていくようにプログラムを修正せよ。
銃口の位置は、Muzzle オブジェクト(Gunman の子オブジェクト)の位置とする。
Jump ボタン(スペースバー)を押したら Gunman がジャンプするようにプログラムを修正せよ。空中で Jump ボタンを何度も押したらさらにジャンプしてしまってもよい。
ジャンプするためには上向きに力を加える必要がある。力を加えるには Rigidbody2D クラスの AddForce() 関数を使う。
Gunman オブジェクトに追加されている Gunman Controller コンポーネントに Colors というプロパティがあり、そこに何色か色が設定されていることを確認せよ。確認したら、Fire2 ボタン(右クリック/左Alt)を押す度に Gunman の色が変わるようにプログラムを修正せよ。なお、色は Colors プロパティの Element 0 → Element 1 → Element 2 ... の順番に変わり、最後の色になっている時に Fire2 ボタンが押されたら、最初の色に戻るようにせよ。
なお、色を変えるには SpriteRenderer クラスの color プロパティを使う。配列の添字を循環させるには %(剰余)を使う。
先の課題で Gunman がジャンプする機能を作ったが、空中でジャンプしないようにプログラムを修正せよ。「空中でジャンプしない」とはつまり「地面の上に立っている時のみジャンプする」ということである。
なお、一般的に「地面の上に立っているかどうか」を判断することを「接地判定」という。
Gunman が2段ジャンプできるようにプログラムを修正せよ。2段ジャンプとは、「空中で一度だけジャンプできる」ということである。
Gunman Controller コンポーネントに Flip X というプロパティがあり、これにチェックを入れると「左右の入力に応じて Gunman も向きを変える」ようになることを確認せよ。確認したら、左を向いている時は弾丸が左に飛ぶようにプログラムを修正せよ。