using UnityEngine; using System.Collections; public class ScrollItem : MonoBehaviour { //ScrollView prefab GameObject public GameObject prefabItem; public GameObject scrollView; bool runMakeItem = false; void Update() { if (runMakeItem == false) { MakeItem (); runMakeItem = true; } } void MakeItem() { Insert("blue", "blue"); Insert ("gray", "gray"); Insert ("Green", "green"); Insert ("orang", "orange"); Insert ("red", "red"); Insert ("yellow", "yellow"); //item이 겹치지 않도록 위치를 계산한다. GetComponent().Reposition(); //item 시작 위치를 top이나 제일 왼쪽으로 정열한다. scrollView.GetComponentInChildren< UIScrollView >().ResetPosition(); } void Insert(string imgName, string textName) { GameObject obj = Instantiate(prefabItem, new Vector3(0f, 0f, 0f), Quaternion.identity) as GameObject; obj.transform.parent = this.transform; obj.transform.localScale = new Vector3(1f, 1f, 1f); UISprite sprite = GetChildObj (obj, "Sprite").GetComponent(); UILabel label = GetChildObj (obj, "Label").GetComponent(); sprite.spriteName = imgName; label.text = textName; } //자식 오브젝트 리스트 얻어오기 GameObject GetChildObj( GameObject source, string strName ) { Transform[] AllData = source.GetComponentsInChildren< Transform >(); GameObject target = null; foreach( Transform Obj in AllData ) { if( Obj.name == strName ) { target = Obj.gameObject; break; } } return target; } }