unity GameObject.SendMessage调用的方法有多个参数的调用方法
2014-11-13 18:17
495 查看
1、首先,先定义一个带有不同类型的多个参数的方法(UnityTest):
看代码:
此时,假设把这个方法的脚本挂在一个叫“Test”的物体(GameObject)上;
2、其次,写一个方法用SendMessage来调用上面的方法的一个方法:
先定义一个GameObject:
在Unity面板,把挂载步骤1中方法的脚本的物体“Test”拖到这个脚本的变量TestObj中;
然后在这个脚本中写一个方法:
3、最后我们在一个OnGUI中来调用它:
最后我们来一起看一下打印的结果:
看代码:
public void UnityTest(object[] obj) { Debug.LogError(obj[0] + "===" + obj[0].GetType()); Debug.LogError(obj[1] + "===" + obj[1].GetType()); Debug.LogError(obj[2] + "===" + obj[2].GetType()); }
此时,假设把这个方法的脚本挂在一个叫“Test”的物体(GameObject)上;
2、其次,写一个方法用SendMessage来调用上面的方法的一个方法:
先定义一个GameObject:
public GameObject TestObj;
在Unity面板,把挂载步骤1中方法的脚本的物体“Test”拖到这个脚本的变量TestObj中;
然后在这个脚本中写一个方法:
void SendMethod(bool result1, bool result2, string message) { object[] obj = new object[3]; obj[0] = result1; obj[1] = result2; obj[2] = message; if (TestObj!= null) { TestObj.SendMessage("UnityTest", obj, SendMessageOptions.DontRequireReceiver); } }
3、最后我们在一个OnGUI中来调用它:
void OnGUI() { if(GUILayout.Button("Test")) { SendMethod(true,false,"this is message!"); } }
最后我们来一起看一下打印的结果:
相关文章推荐
- unity gameObject之间的调用函数的方法
- 【翻译】Unity开发者们,不要再用GameObject.Find方法了!
- unity的c#脚本gameObject.SendMessage(string,Object)怎么用求举例
- unity中调用dll(char*,以及带有函数指针的参数)方法总结
- Unity GameObject对象的几个重要方法
- Unity C# 使用反射,利用字符串作为泛型参数调用泛型方法。
- Unity3D教程:GameObject调用脚本方法
- 实例化Transform对象与GameObject对象时调用方法时的区别
- 接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”
- Unity UGUI鼠标点击UI不受影响方法IsPointerOverGameObject
- Unity3d GameObject 调用其它GameObject中的方法
- C#线程调用带参数的方法
- 理解 Delphi 的类(十) - 深入方法[3] - 调用时参数分割
- JS调用后台带参数的方法
- 调用对象属性(或方法)保证健壮性的一个小技巧——使Object != null
- Javascript 调用C# 代码并传递参数的两种方法
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- 关于Java中方法调用时参数的传递
- Unity Application Block 1.0系列(4): 方法调用注入(Method Call Injection )
- 成员方法 参数 调用 static final