0

ボタンがクリックされると、テクスチャの配列を取り、それらをグリッド レイアウトに入力するローダーを開発しようとすると、多くの問題が発生します (別のボタンがクリックされると、現在のテクスチャが削除され、新しいテクスチャに置き換えられます)。テクスチャの配列)。UI のグリッド レイアウト部分が完全に並べ替えられ、テクスチャ配列が生成されました。

  1. 個別に生成されたゲームオブジェクトの画像コンポーネントに各テクスチャを割り当てます。
  2. グリッド レイアウトにこれらのゲームオブジェクトを設定します。

トリックを行う可能性のあるコードの洞察やスニペットを誰かが共有できますか?

4

1 に答える 1

1

最初にあなたの中にスクリプトを作成するCanvasか、スクリプトで空GameObjectを作成します。

パブリック変数を作成します。

public Sprite[] mySprites;
public GameObject myGridLayoutGameObject;
public GameObject myGridElement;

mySpritesエディターを介してすべてのスプライトを割り当てます。

myGridLayoutGameObjectでGUIゲームオブジェクトを割り当てGridLayoutGroupます。

の場合myGridElement、Image を使用してプロトタイプ GUI オブジェクトを作成し、それをキャンバスの外に配置して、カメラから見えないようにする必要があります。それをスクリプト変数に割り当てます。

次に、いくつかのメソッドを作成できます。

public void fillGrid() {
    foreach (Sprite sprite in mySprites) {
        GameObject instance = Instantiate(myGridElement, myGridElement.transform.position, myGridElement.transform.rotation) as GameObject;
        instance.GetComponent<Image>().sprite = sprite;
        instance.transform.SetParent(myGridLayoutGameObject.transform);
    }
}

設定に応じて、すべてのオブジェクトをグリッド内に自動的に配置します。UnityEngine.UI を使用して追加することを忘れないでください。スクリプトの頭に。

また、このコードは Unity 5 用に作成しました。Unity 4.6 では、GUI 要素にいくつかの違いがある場合があります。

于 2015-07-09T05:07:48.253 に答える