unity的过渡参数是什么意思
1个回答
展开全部
1、首先,先定义一个带有不同类型的多个参数的方法(UnityTest):
看代码:
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!");
}
}
看代码:
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!");
}
}
启帆信息
2024-11-19 广告
2024-11-19 广告
启帆信息是英伟达中国区代理商,原厂授权代理,提供全面的软件技术解决方案以及NVIDIA以太网产品、交换机等产品,欢迎前来咨询!...
点击进入详情页
本回答由启帆信息提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询