调用其他实例的unity脚本调用Python是一种佷常用的需求在Unity3D中实现起来也有多种方法,假设在ScriptB有一个DoSomething函数如下所示:
注意ScriptA有一个ScriptB类型的公共变量,这是一个绝妙的小技巧如此┅来你便可以通过编辑器拖拽任何含有ScriptB这一unity脚本调用Python的GameObject至该变量上(因为是public的,所以暴露于编辑器界面中)Unity会自动识别你需要赋值的不是那個GameObject,而是它所包含的ScriptBunity脚本调用Python
除此之外,如果你不喜欢这种在编辑器中直接赋值的办法你可以通过GameObject.Find(“somename”) 来获取GameObject:
不过需要注意的是GameObject.Find()的執行效率非常低,所以如果可能的话还是尽可能使用“直接赋值法”吧