android+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”面板中,放到立方体上,松开鼠标即完成绑定。


点顶部的小三角运行程序:


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

        

        搞定。

 

 

 

OnControllerColliderHit(),这个是用于角色碰撞的,物体如果附加了Charactor Controller(Unity自带的用于角色控制的脚本)则使用这个函数检测碰撞,这是不需要加刚体的。一般的刚体之间碰撞使用OnCollisionEnter(),范围触发用OnTriggerEnter(),如果你是让两个CUBE碰撞,请确保其中一个附加了RigidBody,

collision是个变量,通过它可以获得你所碰撞的目标的属性以及碰撞点信息和相对速度,如:collision.collider.某个组件或脚本。 void OnCollisionEnter(Collision collision){if(collision.collider.tag=="enemy")//tag是物体的标签,相当于物体的类别名称。在每一个物体的组件栏(也就是加脚本的那个区域)的最上面可以找到,默认的是UnTagged,也就是没有标签,你找找,然后点击会出现一个下拉列表,默认的已有几个Tag,你也可以加自定义的,点击下拉列表最下方的Add Tag就可以加Tag,最后选择一个Tag作为物体的名称就可以了。{Destroy(collision.collider.gameObject);//如果检测到对方是敌人,则消灭对方。}}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值