NGUI可以很方便的添加按钮事件,但是我还没有看到给模型添加点击事件的。比如说我要做一个点击地面上的物体捡取物品这样的效果,势必就会想到在模型上是否可以做一个点击事件。答案是YES、经过本菜农大胆的尝试、终于实现了这个效果。
一、首先,要有NGUI的插件包,然后创建一个UIRoot(3D)里面主要的是要用到它自带的一个摄像机游戏物体。
这个射线机区别于UIRoot(
2D)地方就是它们的UICamaera脚本的不同。UIRoot(3D)有如上图所示的一个射线检测的功能,这个对下一步实现模型添加点击事件至关重要。
二、接下来,在场景中添加模型,比如说一个Cube.然后点击给这个Cube添加NGUI的事件管理脚本如图
之后创建一个你自己的脚本和接收方法,比如我创建了一个EventLister脚本,里面有一段代码
[C#] 纯文本查看 复制代码
1 2 3 4 | void CubeOnclik()
{
NGUIDebug.Log ( "I am Cube" );
}
|
,
现在吧这个方法加到UIRoot(3D)物体上(你可以随便添加到那个物体上,但是建议添加到最高父物体上),之后为Cube的点击事件委托添加这个方法,如图操作
将,UIRoot(3D)托给Target,之后将FunctionName命名为 CubeOnclik。Ok啦,运行游戏点击Cube就会在界面左上角显示“I am Cube".
三、如果是自己预设的一些模型,那么操作基本上都一样,唯一要做的就是给这个模型添加一个Mesh Collider组件,并且选中其中的Convex.
OK,大功告成啦,最后把我的工程文件分享一下,有什么好的建议和有疑问的欢迎留言。本菜农水平有限,望看到的大神轻喷,多指教!谢谢!
工程下载地址:
http://pan.baidu.com/s/1eQ1OEaA
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。