在Unity3D中应用EZGUI中的参数传递
来源:互联网 发布:to:day软件 编辑:程序博客网 时间:2024/04/30 18:04
问题提出:
在使用EZGUI时,可能会碰到这样一个问题:对于ButtonA,我们可以在Unity3D编辑器的Inspector中指定其按下的MethodToInvoke(也就是方法的名字字符串),这里响应函数是另外一个GameObject的Script2脚本组件中的方法ButtonPushed(),如果我们想在按钮按下的时候进行参数传递,EZGUI就没办法支持了。因为其调用的就是MonoBehavior的Invoke,其函数原型为:voidInvoke(StringmethodName,floattime)。那么,应该如何传递参数呢?比如ButtonA上有一个脚本LevelData,而处理按钮按下的脚本是挂接到另外一个GameObject的Script2,我们想把ButtonA的一个名字叫LevelData的组件传递给Script2。
解决方案:
修改EZGUI的UIManager源代码,如下:
public GameObject FocusGameObject;
......
......
case POINTER_INFO.INPUT_EVENT.PRESS:
if (Physics.Raycast(curPtr.ray, out hit, curPtr.rayDepth, curPtr.layerMask))
{
/...
FocusGameObject = hit.collider.GameObject;
就是在UIManager中添加一个公共成员,记录当前被按下空间对应的GameObject,在我们遇到的问题中,其实就是ButtonA。这样,在按钮按下的响应代码Script2中就可以做如下处理:
public void ButtonPushed()
{
LevelData whichLevel = UIManager.instance.FocusGameObject.GetComponent<LevelData>();
//...
}
至此,问题得以解决,虽然有些补丁的感觉 ~_~
- 在Unity3D中应用EZGUI中的参数传递
- php中参数的传递,并在js中的应用
- &应用传递,在函数中改变参数
- PHP中Get参数传递方法与Unity3d中的WWW
- Vs2013在Linux开发中的应用(17): 调试参数传递
- unity3d EZGUI简易教程
- 在复杂应用中使用上下文传递参数
- C#中ref 在参数中的应用
- C#中ref 在参数中的应用
- 在活动中传递参数
- 在url中传递参数
- [Unity3D]EZGUI 操作简单介绍
- Unity3D之EZGUI自学笔记
- JAVA参数在方法中的传递过程
- Java参数在方法中的传递
- 解释参数在方法中的传递过程
- 解释参数在方法中的传递过程
- Java参数在方法中的传递
- tomcat研究
- Windows Phone 7 学习笔记三------文本框输入作用域
- 工具App for C2DM.
- [翻译]WP7 QuickStart-第六篇-Windows Phone下文本的使用
- Android入门、源码、文档资源、教程
- 在Unity3D中应用EZGUI中的参数传递
- Scanner 和BufferedReader同样能实现将键盘输入的数据送入程序
- WP7 页面间传值
- 跑马灯
- 使用java.util.zip对字符串进行压缩和解压缩
- 并发与竞争
- 研究记录01—单目视觉提取的特征在SLAM当中的运用
- Windows Phone 7上广告平台的选择
- sdf