zoukankan      html  css  js  c++  java
  • unity触发器和碰撞器

      Unity中检测碰撞的方法有两种,一种是触发器一种是碰撞器,现在我来解释一下两种的区别。

      触发器:有三种方法,分别是OnTriggerEnter,OnTriggerStay,OnTriggerExit 触发器一般是触发某种事物时使用,例如计分,过关什么的,不带有碰撞的物理效果。

      碰撞器:有三种方法,分别是OnCollisionEnter,OnCollisionStay,OnCollisionExit 碰撞器一般是碰撞某种事物时使用,例如撞车,击中目标,带有碰撞的物理效果。

      代码:

      触发器:

     1  void OnTriggerEnter(Collider other)
     2     {
     3         print("方法里写你想要的效果");
     4       
     5     }
     6 
     7  void OnTriggerStay(Collider other)
     8     {
     9         print("方法里写你想要的效果");
    10       
    11     }
    12 
    13  void OnTriggerExit(Collider other)
    14     {
    15         print("方法里写你想要的效果");
    16       
    17     }

      碰撞器:

     1  void OnCollisionEnter(Collision other)
     2     {
     3         print("方法里写你想要的效果");
     4       
     5     }
     6 
     7  void OnCollisionStay(Collision other)
     8     {
     9         print("方法里写你想要的效果");
    10       
    11     }
    12 
    13  void OnCollisionExit(Collision other)
    14     {
    15         print("方法里写你想要的效果");
    16       
    17     }

      当然,这些是在3D的情况下,如果你做的是2D的游戏的话请在方法后面加上2D,如下:

      

    1   void OnTriggerEnter2D(Collider2D collider)
    2     {
    3         print("方法里写你想要的效果");
    4     }
    5 
    6   void OnCollisionEnter2D(Collision2D other)
    7     {
    8         print("方法里写你想要的效果");
    9     }

      其它的一样。

      需要注意的是,当你使用触发器的时候别忘了打开触发器开关哦

      

  • 相关阅读:
    [jdk] JDK1.5新特性
    [maven] maven介绍
    [Ant] bulid.xml配置详解
    [spring] spring面试题
    .net(C#)时间相减、C#计算时间间隔
    如何记录应用程序日志
    交换机、集线器、路由器区别和使用浅谈
    ASP.NET 在域控制器上使用默认 ASPNET 帐户不能正常运行
    .NET 4中Entity Framework简介
    WCF传输性能测试
  • 原文地址:https://www.cnblogs.com/yunquan/p/5783590.html
Copyright © 2011-2022 走看看