我有一些c#代码摘自Unity3D教程
AddListener(delegate {print(i);}
我想在python中这样做我需要一个容器来传递我打印,但Unity不接受部分
TypeError: expected UnityAction, got partial
请帮帮我
AddListener(Lambda i: print(i))
应该可以工作,但不知怎的,我没有设法拼写正常的功能我总是得到:
()只需1个参数(0给定)
使用IronPython以及普通的python。
这是我想要做的更大的抨击:
browser(enter=holderdict,itemy=0,*a):
for item in enter["template"]:
kgo = GameObject()
kgo.AddComponent[RectTransform]()
kgo.name=str(item)
butn = kgo.AddComponent[Button]()
butn.onClick.AddListener(lambda butn: browser(item))
好吧我解决了这个问题到目前为止问题不是在Lambda中,而是在我如何调用浏览器这是正确的:
butn.onClick.AddListener(lambda butn: browser(holderdict[item]))
但我仍然有一个问题:Lambda不保证它应该在循环中传递的项目,而只是传递循环的最后一个。有什么建议吗?
答案 0 :(得分:0)
好吧,我终于设法让Lambda工作了:
butn.onClick.AddListener(lambda item=item: dicbrowser(holderdict[item],0))