酒店网站开发合同,科技布是什么面料,软件开发外包工作室,织梦源码哪个网站好【调试渲染】 将TestCpp里Box2DTestBed的GLES-Render.h/cpp加入到项目中。声明绘制变量#xff1a;GLESDebugDrawmDebugDraw。 【创建世界】 // 依据重力创建世界b2Vec2 gravity;gravity.Set(0.0f, -10.0f);mWorld new b2World(gravity);// 设置调试渲染和碰撞侦听mWorld-GLESDebugDrawmDebugDraw。 【创建世界】 // 依据重力创建世界b2Vec2 gravity;gravity.Set(0.0f, -10.0f);mWorld new b2World(gravity);// 设置调试渲染和碰撞侦听mWorld-SetDebugDraw(mDebugDraw);mWorld-SetContactListener(this);// 创建地面身体b2BodyDef goundBodyDef;mGroundBody mWorld-CreateBody(goundBodyDef);// 设置物理更新函数schedule(schedule_selector(CTilesLayer::tick));【创建物体】 mFixtureCount 0;b2Timer timer;// 创建静态的矩形(1个body多个shape、fixture){float32 a 0.5f;b2BodyDef bd;bd.position.y -a;b2Body* ground mWorld-CreateBody(bd);int32 N 200;int32 M 10;b2Vec2 position;position.y 0.0f;for (int32 j 0; j M; j){position.x -N * a;for (int32 i 0; i N; i){b2PolygonShape shape;shape.SetAsBox(a, a, position, 0.0f);ground-CreateFixture(shape, 0.0f);mFixtureCount;position.x 2.0f * a;}position.y - 2.0f * a;}}// 创建动态的矩形(一个shape多个body){float32 a 0.5f;b2PolygonShape shape;shape.SetAsBox(a, a);b2Vec2 x(-7.0f, 0.75f);b2Vec2 y;b2Vec2 deltaX(0.5625f, 1.25f);b2Vec2 deltaY(1.125f, 0.0f);enum { e_count 20 };for (int32 i 0; i e_count; i){y x;for (int32 j i; j e_count; j){b2BodyDef bd;bd.type b2_dynamicBody;bd.position y;b2Body* body mWorld-CreateBody(bd);body-CreateFixture(shape, 5.0f);mFixtureCount;y deltaY;}x deltaX;}}【设置物理显示】 // 设置显示mTextLine 30;setScale(15);setAnchorPoint( ccp(0,0) );CCSize screenSize CCDirector::sharedDirector()-getWinSize();setPosition( ccp(screenSize.width/2, screenSize.height/3) );// 设置物理uint32 flags 0;flags b2Draw::e_shapeBit;flags b2Draw::e_jointBit;mDebugDraw.SetFlags(flags);mWorld-SetWarmStarting(true);mWorld-SetContinuousPhysics(true);mWorld-SetSubStepping(false); 【绘制物理】 void CTilesLayer::draw()
{CCLayer::draw();ccGLEnableVertexAttribs( kCCVertexAttribFlag_Position );kmGLPushMatrix();// 绘制物理数据mWorld-DrawDebugData();kmGLPopMatrix();CHECK_GL_ERROR_DEBUG();
}【更新物理】 void CTilesLayer::tick(float dt)
{// 显示const b2ContactManager cm mWorld-GetContactManager();int32 height cm.m_broadPhase.GetTreeHeight();int32 leafCount cm.m_broadPhase.GetProxyCount();int32 minimumNodeCount 2 * leafCount - 1;float32 minimumHeight ceilf(logf(float32(minimumNodeCount)) / logf(2.0f));mDebugDraw.DrawString(5, mTextLine, dynamic tree height %d, min %d, height, int32(minimumHeight));mTextLine 15;mWorld-Step(1/60.0f, 8, 3);mWorld-DrawDebugData();mDebugDraw.DrawString(5, mTextLine, create time %6.2f ms, fixture count %d,mCreateTime, mFixtureCount);mTextLine 15;} 【效果图和下载】 代码下载地址 转载于:https://www.cnblogs.com/ldxsuanfa/p/10886603.html