关于Cocos2d-x物理引擎用到的类和使用

Posted 杭者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Cocos2d-x物理引擎用到的类和使用相关的知识,希望对你有一定的参考价值。

其实就是这三类PhysicsWorld类,PhysicsBody类,PhysicsShape类。

1.PhysicsWorld类

PhysicsWorld对象代表Cocos2d-x中的物理世界,这个世界能够用来模拟碰撞和其他物理性质。不要直接创建PhysicsWorld对象,建议从一个场景对象中获取PhysicsWorld对象,scene->getPhysicsWorld()。

 

2.PhysicsBody类

PhysicsBody对象代表物理世界中的刚体,一个刚体可以被附加一个或多个形状。如果通过createXXX()函数创建刚体对象,将会根据密度自动计算质量和力矩。

 

3.PhysicsShape类

PhysicsShape对象代表一个刚体的形状和一些其他的属性,可以设置刚体的一些密度,质量,弹性等等。

 

 

给一个精灵对象设置刚体的步骤:

1.创建一个精灵对象ball

2.创建一个刚体body

3.用PhysicsShape指针对象调整这个刚体的属性

PhysicsShape *ps=body->getShape(0);

ps->setMass(0.2f);

...

4.设置这个精灵对象的刚体属性

ball->setPhysicsBody(body);

5.把这个精灵对象添加到层

this->addchild(ball);

 

 

第十三章的书上代码的物理世界测试那一部分中,我感觉很可能作者是想在手机上用重力感应来控制物体或者说实现重力,所以就写了设备加速度计方法和加速度计监听器。

 

以上是关于关于Cocos2d-x物理引擎用到的类和使用的主要内容,如果未能解决你的问题,请参考以下文章

cocos2d-x之物理引擎之碰撞监测

Cocos2d-x 3.1.1 学习日志13--物理引擎登峰造极之路

Cocos2d-x 物理引擎及碰撞

实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D

cocos2d-x box2d物理引擎深入研究 第一篇之旋转关节详解(b2RevoluteJoint)

实例介绍Cocos2d-x中Box2D物理引擎:碰撞检測