【Unity 3D】プレイヤーに当たったら色が変わるブロックを作る
プレイヤーに当たったら色が変わるブロックを作る方法を紹介します。
プレイヤーとしては以下を使います。
目次
色が変わるGameObjectを作成
1.例としてCylinderを設置します。名前はCylinderChangeColorにします。
プレイヤーが当たったら色が変わるスクリプトを作成する
1.ChangeColorRed.csという名前のスクリプトを作成して、以下のコードを記載する。
Color.redをColor.blueなどにすれば他の色に変えることができる。
using UnityEngine;
public class ChangeColorBlue : MonoBehaviour
{
/// <summary>
/// 衝突した時
/// </summary>
/// <param name="collision"></param>
void OnCollisionEnter(Collision collision)
{
// 衝突した相手にPlayerタグが付いているとき
if (collision.gameObject.tag == "Player"){
// 自分自身の色を赤に変える
GetComponent<Renderer>().material.color = Color.red;
}
}
}
スクリプトを色を変えたいGameObjectにアタッチする
1.ChangeColorRed.csを消したいブロック(CylinderChangeColorオブジェクト)にアタッチする。
プレイヤーオブジェクトのTagに"Player"を設定
1.プレイヤーオブジェクト(今回はunitychan)のTagに"Player"を設定
完成
これでプレイヤーが色が変わるGameObject(CylinderChangeColorオブジェクト)にぶつかると、色が赤くなる。
ディスカッション
コメント一覧
まだ、コメントがありません