前回の続き。
coublood.hatenablog.com
ブロックの色も、最初はMaterialでつけていたんですが・・・
ずっと買えないものであれば、特に問題はないんですが、色々なパターンを作りたい場合は、その分、Materialを作成・設定して、それをGameObjectに反映しないといけないので面倒です。
なので、スクリプト上で変えた方が楽そうです。
色を変えるには、materialの設定を変えないといけないわけですが、
そのmaterialを変数に持っているのは、Rendererクラス。
UnityEngine.Renderer - Unity スクリプトリファレンス (unity3d.com)
なので、Rendererを取得して、そのmaterial.colorに色を設定すればよさそうです。
取得はGetComponent関数でいけますので・・・
Component-GetComponent - Unity スクリプトリファレンス (unity3d.com)
Block.csを修正。
start関数で色を設定するようにしてしまえばよさそうです。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Block : MonoBehaviour
{
void Start()
{
gameObject.GetComponent<Renderer>().material.color = new Color(0.0f, 0.6f, 0.8f, 0.3f);
}
void Update()
{
}
private void OnCollisionEnter(Collision collision)
{
Destroy(this.gameObject);
}
}
試しに起動してみると、色もばっちり設定されていそうです。