zoukankan      html  css  js  c++  java
  • 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 > 2)
                audio.Play();
    
        }

    会发现这样会报错:

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

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

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

  • 相关阅读:
    this:从JavaScript执行上下文视角讲this
    作用域链和闭包:代码中出现相同的变量,JavaScript引擎如何选择
    调用栈:为什么JavaScript代码会出现栈溢出
    变量提升:JavaScript代码是按顺序执行的吗
    uniapp
    uniapp
    uniapp
    uniapp
    js
    uniapp
  • 原文地址:https://www.cnblogs.com/sunxun/p/4889499.html
Copyright © 2011-2022 走看看