0
ゲームの昼夜のサイクルのためにゲーム時間に応じてプレイ中に煙プレハブの色を変更する必要がありますが、何回か変更する方法がわかりません。ゲーム中のプレハブの開始色を変更する
私のスクリプトは、私が望む開始色でプレハブをインスタンス化するのにうまく動作しますが、後で再度変更することはできません。
これは私のコードです:
class Smoke1 : MonoBehaviour
{
public GameObject myPrefab;
public static GameObject newSmoke;
public GameObject canvasObject;
void Start()
{
GameObject newSmoke = Instantiate(myPrefab, new Vector3(397, -394, 90), Quaternion.Euler(-90, 0, 0)) as GameObject;
newSmoke.transform.SetParent(canvasObject.transform, false);
newSmoke.transform.localScale = new Vector3(1, 1, 1);
newSmoke.GetComponent<ParticleSystem>().startColor = Color.red;
}
void Update()
{
if (TimeManager.gametimeDecimal < 6.0m)
newSmoke.GetComponent<ParticleSystem>().startColor = Color.blue;
if (TimeManager.gametimeDecimal >= 6.0m && TimeManager.gametimeDecimal <= 8.0m)
newSmoke.GetComponent<ParticleSystem>().startColor = Color.yellow;
if (TimeManager.gametimeDecimal > 8.0m && TimeManager.gametimeDecimal < 19.0m)
newSmoke.GetComponent<ParticleSystem>().startColor = Color.green;
}
は、それが動作するプレイタイム中に検査官の谷が、私はどのように把握することはできません私のスクリプトがそれをするようにする。
私に助言をいただけますか?
ありがとうございます!
あなたは 'TimeManager.gametimeDecimal'によって返された値を確認しましたか? (Debug.Logを使用) – Hellium