Unityメモ:Input.GetButtonDown ("Jump"), GetComponent<Rigidbody>, OnCollisionEnter, SceneManager.LoadScene, transform.Translate
Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)
- 作者: まつだす,BATA,?Maruchu,うにたじゃむお,栗坂こなべ,森理麟,alwei
- 出版社/メーカー: 翔泳社
- 発売日: 2015/02/18
- メディア: 大型本
- この商品を含むブログ (2件) を見る
説明がちょっと自分用なので今回は謎記述多いかもです。すみません・・・
Unityで使う基本的なメソッドなどの寄せ集めです
Input.GetButtonDown ("Jump")
"Jump"ジャンプキーはデフォルトではSpace!
void Update () { if (Input.GetButtonDown ("Jump")) { ... } } #"Jump"ジャンプキーが押されたら....の操作をする
GetComponent().velocity
Vector3 (0, jumpPower, 0)
public float jumpPower; void Update () { if (Input.GetButtonDown ("Jump")) { GetComponent<Rigidbody>().velocity = new Vector3 (0, jumpPower, 0); } } #"Jump"ジャンプキーが押されたら.... #Rigidbody属性に3次元ベクトルで指定したスピードを追加 #(0, jumpPower, 0)の場合y軸、 #上下に変数 jumpPower分だけ追加
OnCollisionEnter
void OnCollisionEnter (Collision other){ … } #衝突判定でTrueのときに...する
SceneManager.LoadScene
using UnityEngine.SceneManagement; #インポート必須! void OnCollisionEnter (Collision other){ SceneManager.LoadScene("wallgameview"); } #衝突判定でTrueのときに... #"wallgameview"と宣言したシーンをロード ※類似機能でApplication.LoadLevelメソッドというのはなくなったようです。エラーになります。
transform.Translate
オブジェクトのデフォルト座標設定
public float speed; void Update () { transform.Translate (speed * Time.deltaTime, 0, 0); } #transform.Translate(<三次元ベクトルの値>)座標にいること #speed * Time.deltaTimeだと時間毎にx座標横移動する