libgdx, contact 接触的调用情况分析
来源:互联网 发布:sql创建数据表的方法 编辑:程序博客网 时间:2024/06/09 19:13
背景:想要实现body1与body2接近到一个距离s后,将两者合并。
想法1:调用在回调函数:beginContact 中完成,但最终没能实现想要的效果。这个函数只在fixture1与fixture2发生接触的瞬间被调用。只要两个fixture没有分离,无论怎么移动body2,这个函数是不会再被调用的了,所以我的想法失败了。
endContact函数,在两个fixture分离时被调用一次;
preSolve,postSolve函数在两fixture碰撞时调用,且是成对出现。
如果想要“两个fixture有接触时就进行合并的效果”,那可以使用想法1。且在实验时发现,当beginContact函数被调用时,body1与body2之间的距离s的值不完全相同。产生不同的原因有2:第一,这个接触的时机与step()函数有关;第二,我计算的是两个body之间的position的距离,而beginContact函数被调用的时机是两个fixture的接触。换句话说,是两个圆形的话,则beginContact被调用时,这个距离的值应该是一样的。
想法2:在body2被拖动的过程中判定body1与body2的距离s,然后判断是否满足需求;
想法3:在渲染函数中判定body1与body2的距离s,在step函数之后;
个人偏向使用这种,因为body的属性修改及body对象的删除都在这里进行操作,否则可能会异常。
但这个渲染函数的调用是相当频繁的,则为了提高性能,在beginContact与endContact之间进行距离s的判定!
0 0
- libgdx, contact 接触的调用情况分析
- libgdx 分析
- libgdx:Actor的分析(1)
- updateHeaderShade调用堆栈情况分析
- 调用layoutSubviews各种情况分析
- Linux中fork函数的调用情况分析
- Android Contact分析(一):Data, RawContact, Contact之间的关系
- Ffmpeg 1.0 contact分析
- libgdx demo 分析:<superjumper>
- libgdx input分析
- libgdx Intersector分析
- libgdx Vector2 分析
- 非接触智能卡的安全性分析
- 带摩擦的接触分析实例
- 动态规划的初次接触,简单分析
- 接触仿真分析的基本原理是什么?
- 关于方法的调用情况
- NSNotification 多次调用的情况
- Failed to install helloworld.apk on device '????????????': adb rejected instal
- 俄罗斯今举行二战胜利阅兵式 克里米亚首次参与
- 2013视觉跟踪
- 使用jmail的时候避免无法发送的方法
- iOS—接收到APNs远程推送消息时的处理流程
- libgdx, contact 接触的调用情况分析
- gdb和gdbserver源码架构分析
- c#实现定时关机
- Double 类型运算时的精度问题
- Linux安装JDK
- 常州seo学习说说权重统一的重要性
- char,short ,int ,long,long long,unsigned long long数据范围
- 用联接来查询两个表
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句