经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 游戏设计 » 查看文章
关于Unity物理事件的执行顺序的最新理解
来源:cnblogs  作者:小辉歌  时间:2019/1/14 9:19:43  对本文有异议

物体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;

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号