上帝创造世界用了七天:
第一天 要有光,便有了光,把光明,黑夜分开,便有了昼夜;
第二天 有了天;
第三天 有了海和陆地,陆地是绿的;
第四天 有了太阳,月亮,和星星;
第五天 水中,空中有了生物;
第六天 陆地上有了生物;
第七天 有了人;
插了一个插曲。
上篇说完了创造一个世界,这次我们便在这个世界里加物体。
首先创造一个物体(注意不说刚体),需要再屏幕上体现出来,首先得创造一个精灵,因为刚体并不能具象的在屏幕上表示:
精灵:
CCSprite *sprite = CCSprite::create("CloseNormal.png");
sprite->setPosition(ccp(s.width/2, s.height/2));
sprite->setTag(spriteTag);
addChild(sprite);
相信做过cocos2d 的同学很容易看懂。
下边才是创造一个刚体:
而创造一个Body(刚体),首先需要b2BodyDef 刚体的定义(包含着刚体的坐标,刚体的类型:动态),而创造一个刚体需要世界来创造。
这里说一下world里的坐标,world是个相对来说比较真实的世界,这个世界里刚体用的参数是MKS ,也就是说米/千克/秒 ,而我们精灵用到的是像素,要相互转换,这里的PTM_RATIO也就是代表32个像素是一米,

本文是Box2D学习的第二部分,主要介绍如何在虚拟世界中添加物体,并让它们与环境互动。通过创建精灵和刚体,结合坐标系统的转换,使物体能够在屏幕上显示。通过world的更新机制,实现物体动态移动,并添加地面以防止物体掉落,最终实现简单的物理交互效果。
最低0.47元/天 解锁文章
2099





