我在for循环中有Cell和Value的值。例如,当i = 0时,value将是“第一个值”,我想将其分配给A0Text.text。当i = 1时,值将是“第二个值”,我想分配给A1Text.text .. -
for (int i = 0; i < BLOCKS.Count; i++)
{
//possible values of Cell are A0, A1, A2 ...
var Cell = currentBLOCKData["cell"];
var Value = currentBLOCKData["value"];
....
然后我有与Cell
同名的字段//possible cellName are - A0Text, A1text, A2Text .....
string cellName = Cell + "Text";
我想分配
A0Text.text = First value in above field - Value
A1Text.text = 2nd value in above field - Value
A2Text.text = 3rd value in above field - Value
我如何制作上述作品?
答案 0 :(得分:1)
Gameobject.Find可能会很慢,我觉得效率很低。在哪里可以避免使用它,尽量做到。为什么不为Text组件创建公共数组,在检查器中分配它们,然后在循环中遍历数组。
public Text[] textArray; //assign in inspector
for(int i = 0; i < BLOCKS.Count; i++){
//.. your other code here
textArray[i].text = Value.ToString();
}
答案 1 :(得分:0)
是的 - 我想通了 - 搜索和分配如下:
txtRef = GameObject.Find(cellName).GetComponent<Text>();
txtRef.text = Value.ToString();