解決したいこと
newColorに値が割り当てられるようにしたい。
問題点
エラー文
cs(58,25):error:CS0165:Use of unassigned local variable 'newColor'
58行目: ps.startColor = newColor;
C#using
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using Random = UnityEngine.Random; 5 6public class ParticleManager : MonoBehaviour 7{ 8 ParticleSystem ps; 9 10 void Start() 11 { 12 ps = GetComponent<ParticleSystem>(); 13 } 14 15 16 void Update() 17 { 18 if (Input.GetKey(KeyCode.Space)) 19 { 20 Play(); 21 } 22 } 23 24 void Play() 25 { 26 var r2 = Random.Range(0, 256);//r2ランダム 27 28 /*Randomについてご助言をいただき変更を加えました。 29 Random.Rangeはmax値が結果に含まれないので0-255のランダムにする場合は、Random.Range(0, 256)になる。 30 */ 31 32 Color32 newColor; 33 34 newColor = new Color32(255, (byte)g2, (byte)b2, 255); 35 36 ps.startColor = newColor;// 37 38 ps.Play(); 39 } 40}
やってみたこと
if文をコメントにし、newColor=new Color32( )だけを抜き出して実行するとエラーなく実行ができた。
なのでif文が間違っているか、C#の書き方でif文内での値が反映されていないのかだと考えられる。
C#
1 /* 2 if (rand == 0) 3 { 4 newColor = new Color32(255, (byte)g2, (byte)b2, 255); 5 } 6 7 */ 8 newColor = new Color32(255, (byte)g2, (byte)b2, 255);
使用している環境
Unity2020.1.0f1 Personal
Visual studio2019
回答1件
あなたの回答
tips
プレビュー