cocos2dx物理引擎和碰撞检测(六)物体Bodies

本文详细介绍了Box2D引擎中物体的三种类型:静态物体、平台物体和动态物体,以及物体的基本属性如位置、角度、阻尼和休眠参数。动态物体通常用于游戏中的精灵对象,而静态物体和平台物体则常用于创建场景的固定元素。此外,文章还讨论了固定旋转、子弹属性、活动状态和用户数据在游戏开发中的应用。
摘要由CSDN通过智能技术生成
前面已经讲到形状和框架的含义,它们分别是用来进行碰撞检测和物理模拟的对象。到现在我们创建的物理世界当中,还未存在任何的物体。因此接下来的内容就介绍物理世界的主角:物体(Body)。它是构成世界的主要因素,因为不仅框架,形状会依附于物体,就连后面介绍的关节也是要绑定在物体之上的。

物体定义:
Box2D引擎的物体都为刚体,它的形状不为任何外力所改变。物体上面的任何两点之间的距离都是完全不变的。它具有质量和惯性。它的运动状态由重力和受力决定。它的动态移动由线速度和角速度控制。物体分3类:

(1)静态物体(b2_staticBody) 质量为0,在模拟时,静态不可移动,就好像它具有无穷大的质量。不过,静态物理可以让用户手动的移动,它速度为0。这也就是说其移动的位置由用户控制。另外,它也不会和其他静态或者平台物体相互碰撞。它常常被用来实现游戏中的地面,边界等元素。

(2)平台物体(b2_kinematicBody)是按照固定轨迹在做运动的物体,其质量也为0,与静态物体一样,平台物体也可以被用户移动。通常情况下开发者会预设一个速度。它也不会和其他的静态或者平台物体碰撞。平台物体常常用来表示游戏中的电梯、平台、桥等等。

(3)动态物体(b2_dynamicBody)是游戏中最常见的精灵对象对应的物体,具备质量、速度、摩擦等。它参与引擎当中的碰撞检测和物理模拟。它们可以让用户手动移动,但通常它们都是受力的作用而运动。动态物体可以与物理世界中任何对象发生碰撞。

上述物体的类型都可以被施加外力(forces)、扭阵(t

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值