设置一个稳定的按钮';s OnClick,以设置gameobject变量?统一C#
嘿,伙计们!由于我的问题的独特性质,我第一次使用堆栈溢出 我目前正在根据场景中使用特定脚本的游戏对象的数量实例化一个按钮。如何确保实例化按钮的onClick将父脚本的空gameObject变量设置为(I)gameObject(物理炮塔)设置一个稳定的按钮';s OnClick,以设置gameobject变量?统一C#,c#,unity3d,C#,Unity3d,嘿,伙计们!由于我的问题的独特性质,我第一次使用堆栈溢出 我目前正在根据场景中使用特定脚本的游戏对象的数量实例化一个按钮。如何确保实例化按钮的onClick将父脚本的空gameObject变量设置为(I)gameObject(物理炮塔) private void Start() { 炮塔脚本[]炮塔SONTANK=FindObjectsOfType(); 对于(int i=0;i炮塔支架=炮塔坦克[i]是lambda,它将用炮塔坦克[i]设置炮塔支架字段,其中i是炮塔的索引 顺便说一下,您的代码
private void Start()
{
炮塔脚本[]炮塔SONTANK=FindObjectsOfType();
对于(int i=0;i
如果您使用的按钮是按钮
,您可以这样做:
for(int i=0;i炮塔支架=炮塔坦克[i];
}
()=>炮塔支架=炮塔坦克[i]
是lambda,它将用炮塔坦克[i]
设置炮塔支架
字段,其中i
是炮塔的索引
顺便说一下,您的代码看起来需要一些改进GetChild()
返回transform,因此您不必执行GetChild(0).gameObject.transform
来获取transform。只要GetChild(0)
就足够了
而且,transform
字段已经存在于monobhavior
中,因此您不需要通过gameObject
访问transform
如果预置为Transform
,那么,Instantiate
可以返回Transform
类型。因此,您的代码是:
Transform-tartabutton=实例化(testingtartabutton.Transform,gameObject.Transform.GetChild(0.GetChild));
炮塔按钮.GetChild(0).GetComponent().text=TotaltasonTank[i].名称;
炮塔按钮位置=新矢量3(150+(100*i),330);
TotalButton.GetComponent().onClick.AddListner(
()=>炮塔支架=炮塔坦克[i];
它的冗余更少。您的回答似乎不起作用。我无法让任何一个版本正常工作,因为它无法在按钮上设置任何内容或正确比较这两个选项。噢。还有其他建议吗?