zoukankan      html  css  js  c++  java
  • 关于Unity物理事件的执行顺序的最新理解

    物体A:

    public class A:{

       B b;

       void FixedUpdate(){

           if(input.GetKeyDow(Keycode.I)) {

              collider.enable=false;

              b.lockA=true;

           }

       }

    }

    物体B:

    public class B:{

      bool a=false;

      bool lockA=false;

      OntriggerExit(){

          if(!lockA)debug.log("007");//如果lockA为false,那么打印007

      }

    }

    运行结果为:007

    因为lockA为true,物理事件FiexdUpdate后面执行的,因为应该不会执行得结果007,这说明事件即为事件,事件就是操作发生时立即生效的执行方法,物理事件并非是在FixedUpdate之后才执行,而是在改变Collider的逻辑状态即collider.enable=false;的时候立即同步执行;要想上面的007不会打印出来,只需将if语句里的代码改变顺序即可:

    b.lockA=true;

    collider.enable=false;

  • 相关阅读:
    SpringMvc
    Spring-Aop
    Spring-IOC
    Spring模块划分
    队列
    稀疏数组
    数据结构
    Nginx配置实例
    Nginx常用命令
    视频断点播放:h5+jquery
  • 原文地址:https://www.cnblogs.com/xiaoahui/p/10260418.html
Copyright © 2011-2022 走看看