Box2D
文章平均质量分 55
xuzhaojia
致力于cocos creator,cocos2D及x的游戏开发
展开
-
Box2D的Edge Shape的碰撞处理
有时候两个body碰撞时需要精确到某条边,所以在创建body的时候需要创建multiFixture,也就是多个fixture的组合。早期Box2D版本中Polygon Shape有setAsEdge方法设置每条边的fixture,现在只有setAsBox方法了。 可以在每条边的位置上加上一个Edge Shape,然后再body中加入这个边的fixture并保存起来,碰撞的时候就能判断是碰到哪条边原创 2013-11-16 20:01:25 · 3154 阅读 · 0 评论 -
box2D斜面摩擦力和sprite朝向的兼顾取舍
问题起源: 一般游戏的主角player的b2Body的fixedRotation属性都设置为true,即不能旋转,这样可以保证player在受到物理冲力的时候不会扭来扭去,比如超级玛丽他的人物模型始终是直立的。当player遇到斜面物体时,它和斜面之间只有一个接触点,这样就没有摩擦力,这会造成player运动状态的失真。 如果将player的fixedRotation设置为false,即可原创 2014-03-12 02:26:17 · 2086 阅读 · 0 评论 -
Box2D实现Super Mario之关键技术分析——mario下蹲通过低矮障碍物
一、问题起源 变大之后的Mario的b2Body的宽高是16×32,而障碍物允许通过的高度只有16,游戏里的效果是,Mario借助惯性,在下蹲时滑行通过障碍物。(比如world1-2中开头的地方)。 若只滑倒障碍物宽度的一半,根据玩家的操作有2中情况: 1. 松开“下蹲”键恢复站立姿势时,mario自动向右滑出障碍物范围;原创 2014-03-16 00:12:55 · 2300 阅读 · 3 评论