一个box2d中的工具类,拿过来直接用的那种

#pragma  once //避免重复包含  




#include "../../../../external/Box2D/Box2D.h"


class Box2dUtils{
public:
static b2Body* createDynamicBody(float posX, float posY, void* userData, b2World* _world){

b2BodyDef ballBodyDef;
ballBodyDef.type = b2_dynamicBody; // 
ballBodyDef.position.Set(posX, posX);
ballBodyDef.userData = userData; // 把屏幕中的精灵作为 物理世界中物体的 userData
b2Body* ball = _world ->CreateBody(&ballBodyDef);
return ball;
}


static b2Fixture* createFixture(b2Shape* shape, float density, float friction, float restitution, b2Body* ball ){

b2FixtureDef ballFixDef;
ballFixDef.shape = shape;
ballFixDef.density = density;
ballFixDef.friction = friction;
ballFixDef.restitution = restitution;
return ball->CreateFixture(&ballFixDef);
}

};

设置一个小球的时候,直接调用这个包

b2Body*ball=Box2dUtils::createDynamicBody(420/PTM_RADIO,400/PTM_RADIO,ballSp,m_world);

b2CircleShape circle;

circle.m_radius=(52/2.0f)/PTM_RATIO;

BoxUtils::createFixture(&circle,8.0f,0.3f,0.5f,ball);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值