Chinaunix首页 | 论坛 | 博客
  • 博客访问: 41984
  • 博文数量: 22
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 344
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-19 11:34
文章分类
文章存档

2014年(22)

我的朋友

分类: 其他平台

2014-05-04 14:36:14

        在这章内容里,我们来看看在unity3d中是如何完成简单的碰撞检测的。描述如下:当立方体碰到地面,输出被立方体碰撞的地面的name“地板”,则表述检测到立方体碰撞了地面。

第一步 搭建场景。

        如何搭建场景,只要同学们看完第零章以及第零章内推荐的视频教程相信能轻松完成。这里就不重复叙述了。场景截图如下


        我们在“Hierarchie”面板中单击表示地板的组件(我用的是box);然后在Inspector中给它命名为“地板”unity3d博客

       

第二步 编写代码

        在“Project”面板中单击“Create”旁边的小三角,选择“javascript”创建一个名为“collision”的js文件。双击它,系统启动Monodevelop来编辑js文件。
        清除里面默认创建的代码。写上。

function OnCollisionEnter(obj:Collision)
{
Debug.Log(obj.gameObject.name);
}

        onCollisionEnter函数解释:这个函数是在被绑定的物体与其他物体发生碰撞的时候被调用。
        obj参数解释:被撞的物体参数,类型是Collision,在本例中就是“地板”.携带变量gameObject,是我们碰撞的物体name,就是我们为地板设置的name。

第三步 将脚本文件拖到立方体上实现绑定

        这步很容易操作,在" Project"面板中选中collision脚本,按住鼠标左键不放,直接拖入“Hierarchie”面板中,放到立方体上,松开鼠标即完成绑定。

第四步  点顶部的小三角运行程序

        程序运行结果,当立方体与地板碰撞时,底部状态栏会输出地板的name


阅读(417) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~