回答編集履歴

5 spritesの方も初期化できないたぐいのものだったので修正

ishi9

ishi9 score 1268

2016/10/11 12:23  投稿

Switch文の簡略化の方は、見た限り連番っぽい?ので
```C#
spObRender.sprite = sprites[textureUniqueNumber-1];
```
とかにすればいけるのではないでしょうか?
後、
GameObject[] spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
これはできません。初期化はStart関数の中に移してください。
Sprite[] sprites = Resources.LoadAll<Sprite>(BASE_TEXTURE);
これらはできません。初期化はStart関数の中に移してください。
(プログラムを実際に動かすまで結果がわからない処理はメンバ変数の初期化には使えない)
```C#
GameObject[] spriteObjects;
Sprite[] sprites;  
void Start()
{
   spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
   sprites = Resources.LoadAll<Sprite>(BASE_TEXTURE);  
}
```
4 修正

ishi9

ishi9 score 1268

2016/10/11 12:05  投稿

Switch文の簡略化の方は、見た限り連番っぽい?ので
```C#
sprites[textureUniqueNumber-1];
spObRender.sprite = sprites[textureUniqueNumber-1];
```
とかにすればいけるのではないでしょうか?
後、
GameObject[] spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
これはできません。初期化はStart関数の中に移してください。
(プログラムを実際に動かすまで結果がわからない処理はメンバ変数の初期化には使えない)
```C#
GameObject[] spriteObjects;
void Start()
{
   spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
}
```
3 修正

ishi9

ishi9 score 1268

2016/10/11 12:02  投稿

Switch文の簡略化の方も話は、見た限り連番っぽい?ので
Switch文の簡略化の方は、見た限り連番っぽい?ので
```C#
sprites[textureUniqueNumber-1];
```
とかにすればいけるのではないでしょうか?
後、
GameObject[] spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
これはできません。初期化はStart関数の中に移してください。
(プログラムを実際に動かすまで結果がわからない処理はメンバ変数の初期化には使えない)
```C#
GameObject[] spriteObjects;
void Start()
{
   spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
}
```
2 修正

ishi9

ishi9 score 1268

2016/10/11 12:01  投稿

Switch文の簡略化の方も話は、見た限り連番っぽい?ので
```C#
sprites[textureUniqueNumber-1];
```
とかにすればいけるのではないでしょうか?
後、
GameObject[] spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
これはできません。初期化はStart関数の中に移してください。
(プログラムを実際に動かすまで結果がわからない処理はメンバ変数の初期化には使えない)  
```C#
GameObject[] spriteObjects;
void Start()
{
   spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
}
```
1 修正

ishi9

ishi9 score 1268

2016/10/11 11:58  投稿

Switch文の簡略化の方も話は、見た限り連番っぽい?ので
```C#
sprites[textureUniqueNumber-1];
```
とかにすればいけるのではないでしょうか?
後、
GameObject[] spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
これはできません。初期化はStart関数の中に移してください。
```C#
GameObject[] spriteObjects;
void Start()
{
   GameObject.FindGameObjectsWithTag("SphereObject");
   spriteObjects = GameObject.FindGameObjectsWithTag("SphereObject");
}
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る