エディタで割り当てられた値をリフレッシュする方法がないように思えるので、私のプログラムのバグに対しては少し強引な回避策に取り組んでいます。とにかく、別のスクリプトが使用できる配列にイメージ(スプライト)をロードしようとしています。しかし、それは動作していないようだと私はなぜわからない。私は前にこのようなことをしていないので、おそらく簡単な間違いをしたでしょう。エラーは、pics1 [i]が範囲外であると言っています。Unityの空の配列?
using UnityEngine;
using System.Collections;
public class Imageblock : MonoBehaviour {
public Sprite[] pics1;
public static Sprite[,] allPics;
// Use this for initialization
void Start() {
pics1 = Resources.LoadAll<Sprite> ("Dock Pics");
allPics = new Sprite[100,100];
for (int i = 0; pics1 [i] != null; i++) {
allPics [1,i] = pics1 [i];
}
}
}
「インスペクタの値を更新する」問題は何ですか?パブリックフィールドはシリアル化されるため、インスペクタによって初期化されますが、インスペクタから変更した場合はインスペクタによってオーバーライドされますが、実行時にコードからオーバーライドすることは可能です。 – Xarbrough
私は同じコードの複数のインスタンスを持っているので、初期化時ではなく、コードのインスペクタからデータを取得する必要があります。 – MechaScoots