其实就是这三类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);
第十三章的书上代码的物理世界测试那一部分中,我感觉很可能作者是想在手机上用重力感应来控制物体或者说实现重力,所以就写了设备加速度计方法和加速度计监听器。
时间: 2024-12-23 23:11:55