MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

Unityメモ:Input.GetButtonDown ("Jump"), GetComponent<Rigidbody>, OnCollisionEnter, SceneManager.LoadScene, transform.Translate

Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)

Unity5 3Dゲーム開発講座 ユニティちゃんで作る本格アクションゲーム (Smart Game Developer)

上記が引用元・参考書籍です

説明がちょっと自分用なので今回は謎記述多いかもです。すみません・・・

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座標横移動する