This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
void AddButton(QuestionDB.QuestionData DataRow, int answerID, int i){ | |
//子オブジェクトとして追加 | |
RectTransform item = GameObject.Instantiate(buttonPrefab) as RectTransform; | |
//ボタンの表示を割り当てる | |
item.GetComponentInChildren<Text> ().text = DataRow.answer; | |
//コンテンツの子オブジェクトにする | |
item.SetParent(transform, false); | |
//ボタンに呼び出すメソッドを割り当てる | |
if(DataRow.id == answerID){ | |
item.GetComponent<Button> ().onClick.AddListener(Correct); | |
}else{ | |
item.GetComponent<Button> ().onClick.AddListener(Inorrect); | |
} | |
//時間差表示演出 | |
item.GetComponent<AnswerItem> ().Show(0.1f * i); | |
} | |
void Correct(){ | |
sManager.Correct (); | |
} | |
void Inorrect(){ | |
sManager.Incorrect (); | |
} | |
void AddInputField(QuestionDB.QuestionData DataRow, int i){ | |
//子オブジェクトとして追加 | |
RectTransform item = GameObject.Instantiate(inputFieldPrefab) as RectTransform; | |
//コンテンツの子オブジェクトにする | |
item.SetParent(transform, false); | |
InputField input = item.GetComponent<InputField> (); | |
input.onEndEdit.AddListener (delegate{CheckTextBox(input);}); | |
//時間差表示演出 | |
item.GetComponent<AnswerItem> ().Show(0.1f * i); | |
} | |
void CheckTextBox(InputField input){ | |
sManager.CheckTextBox (input.text); | |
} |
Buttonをクリックした時に呼び出すメソッドは、10・12行目の通り、単純にメソッド名を書くだけで良い。
さて、InputFieldも同じだろうと思って記述してみたらエラーが出てしまった。それで、正しい書き方というのが33・38行目というわけである。まだよく理解できていないので、公式リファレンスを真似して書いてみた。呼び出すメソッドの引数にはInputFieldが必要な模様。面白いことにこの引数から入力された文字を参照することができる。
詳しいことが分かったら、またここに追記しようと思う。
0 件のコメント:
コメントを投稿