首页 > 编程语言 > 详细

unity, 如果碰撞使用2d物理,为防止颤动,需将更新position的代码写在FixedUpdate里

时间:2016-01-30 22:27:35      阅读:283      评论:0      收藏:0      [点我收藏+]

例如我为主角添加了一个circle collider 2d,和一个rigidbody 2d,为障碍物添加了一个circle collider 2d。

然后我在主角的Update函数里更新位置让主角由A点以恒定速度移动到B点,则会发现当主角被障碍物挡住去路时主角在障碍物旁停下并不停颤动。

停下是对的,但颤动就不对了。试验发现,只要将更新主角位置的代码改放到FixedUpdate里颤动就消除了。

另外注意,判断鼠标事件的函数,如if (Input.GetMouseButtonDown (0)) {...},不能放到FixedUpdate中,而应该仍然放在Update中,否则可能会发生偶尔点击不灵的问题。

unity, 如果碰撞使用2d物理,为防止颤动,需将更新position的代码写在FixedUpdate里

原文:http://www.cnblogs.com/wantnon/p/5171450.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!