Unityを初めて使用するため、Unity3dで実行時にDropDownListを作成する方法がわかりません。
以下のリンクhttp://wiki.unity3d.com/index.php?title=PopupListに示されている例のように、シーンが読み込まれるとリストを作成できます。
しかし、実行時にそれらを作成する方法がわかりません。このクラスを作成してみました。
#pragma strict
class CustomList extends MonoBehaviour
{
var title:String;
var top:int;
var left:int;
var width:int;
var height:int;
private var listEntry = 0;
private var list : GUIContent[];
private var listStyle : GUIStyle;
private var showList = false;
public function CustomList(title:String,top:int,left:int,width:int,height:int){
this.title = title;
this.top=top;
this.left = left;
this.width = width;
this.height = height;
list = new GUIContent[1];
list[0] = new GUIContent("Granite");
// Make a GUIStyle that has a solid white hover/onHover background to indicate highlighted items
listStyle = new GUIStyle();
listStyle.normal.textColor = Color.white;
var tex = new Texture2D(2, 2);
var colors = new Color[4];
for (color in colors) color = Color.white;
tex.SetPixels(colors);
tex.Apply();
listStyle.hover.background = tex;
listStyle.onHover.background = tex;
listStyle.padding.left = listStyle.padding.right = listStyle.padding.top = listStyle.padding.bottom = 4;
}
function Start () {
}
function OnGUI () {
Debug.Log("title for list is : "+title);
GUI.Label (Rect(10, 10, 100, 10), "You picked !");
if (Popup.List (Rect(top, left, width, height), showList, listEntry, GUIContent(this.title), list, listStyle)) {
GUI.Label (Rect(200, 70, 400, 20), "You picked !");
}
}
}
しかし、以下のようにforループに追加することはできません
for(var objCategory:Category in objCategoryList.listCategory){
new CustomList(objCategory.categoryName,100,ctr*100,100,20);
ctr++;
}
誰かがこのコードスニペットの何が間違っているのか、そしてunity3dのjavascriptでこれを行う正しい方法は何であるかを提案できますか?