LoginSignup
14
19

More than 3 years have passed since last update.

Unityのゲーム製作で使えるC#コードまとめ

Posted at

はじめに

ゲームでよく使うものをまとめました。半分自分用です。たまに自分でも忘れるので…

目次

・クリックで動作させる。
・キー操作で動作させる。
・衝突判定をつける。
・タグをつけたオブジェクトの数を数える。
・オブジェクトを生成する。
・オブジェクトを破壊する。
・複数回処理をする。
・座標を指定して移動させる

クリックで動作させる

if ( Input.GetMouseButtonDown(0) )
{
処理
}

0なら左クリック1なら右クリックです。
3はホイールクリック、マウスによっては4,5…と続きます。

キー操作で動作させる

 if (Input.GetKey(" "))
{
処理
}

" "の中は設定したいキーです。

aキーなら

 if (Input.GetKey("a"))
{
処理
}

となります。

衝突判定をつける

void OnCollisionEnter(Collision collision)
{
     if (collision.gameObject.tag == "")
     {
     処理
     }
}

" "の間はタグ名

そのタグをつけたオブジェクトに当たった時に処理が行われます。

どちらかのオブジェクトにisTriggerがついている場合は、

void OnTriggerEnter(Collider collision)
{
     if (collision.gameObject.tag == " ")
     {
     処理
     }
}

となります。

タグをつけたオブジェクトの数を数える

private GameObject[] ~~;

void Update()
{
     ~~ = GameObject.FindGameObjectsWithTag(" ");
     print(~~.Length);
}

~~の部分は好きな名前でOKです。

private GameObject[] ~~;で数えたいものを指定しておいてUpdateでタグを指定して数えています。
if (~~.Length <= 20){処理}と書けばタグがついたオブジェクトが20個以下の時だけ処理を行えます。

オブジェクトを生成する

public GameObject ~~;

Instantiate(~~, transform.position, transform.rotation);

~~は好きな名前で。

public GameObject ~~;で使いたいオブジェクトを指定。
Instantiate(~~, transform.position, transform.rotation);でそのオブジェクトを呼び出し。

座標を指定して移動させる

transform.position = new Vector3( ,  , );
transform.rotation = new Quaternion( , , , );

()の中は座標と回転です。

new Vector3( 0, 0, 0);なら原点です

14
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
19