Unity3D 游戏的碰撞

首先创建两个精灵,然后都绑定上碰撞方法(这个是在上一篇文章的基本上):

不过 要注意一点就是碰撞器需要挂一个重力组件,不然无效

所以添加了差不多就能够实现物体碰撞了:

Unity3D 游戏的碰撞

接下来技术写代码,让碰撞的时候进行触发:

这样就能在碰撞的时候,触发碰撞事件

	//检测碰撞会执行此方法

	void OnCollisionEnter2D(Collision2D coll) {
//这里Collision2D得到的是被碰撞的那个对象
if(coll.collider.gameObject.name == "bg_1")
{
Application.LoadLevel("game");
}
//if (coll.gameObject.tag == "Enemy")
// coll.gameObject.SendMessage("ApplyDamage", 10); }

如果做的是3D

那么可能就是

void OnCollisionEnter(Collision collision) {
foreach (ContactPoint contact in collision.contacts) {
Debug.DrawRay(contact.point, contact.normal, Color.white);
}
if (collision.relativeVelocity.magnitude > )
audio.Play(); }

会发现这样会报错:

Level 'game(-1)' could't be loaded because it has ....

这样还是不行的,因为并没有将结束的关卡添加进来,所以还需要把关卡添加进来才行:

Unity3D 游戏的碰撞

这样就添加进来了,开始运行。

上一篇:JS判断是否已经到达页面底部


下一篇:剑指offer-25题-复杂链表复制