Cocos2d学习之路五(Box2d使用CCPhysicsSprite时编译不通过解决方法)
2014-04-12 15:41
302 查看
cocos2d使用box2d引擎,在使用CCPhysicsSprite添加精灵的时候会出现编译不通过错误。
需要注意以下几点:
1.sprite.position=ccp(p.x,p.y);这行代码一定要在[spritesetB2Body:body];之后。否则编译不通过。
2.不要忘记添加[sprite setPTMRatio:PTM_RATIO];这行代码也要在setPosition之前
添加小球精灵示例代码:
#pragma mark 添加精灵 -(void) addNewSpriteAtPosition:(CGPoint)p { //创建小球精灵对象 ball=[CCPhysicsSprite spriteWithFile:@"ball.png"]; [ball setPTMRatio:PTM_RATIO]; //不要忘记 ball.tag=1; [self addChild:ball]; //创建小球物体 b2BodyDef ballBodyDef; ballBodyDef.type=b2_dynamicBody; ballBodyDef.position.Set(p.x/PTM_RATIO, p.y/PTM_RATIO); ballBody=world->CreateBody(&ballBodyDef); //创建小球物体的形状。 b2CircleShape circle; circle.m_radius=8.0/PTM_RATIO; //创建小球物体的夹具 b2FixtureDef ballShapeDef; ballShapeDef.shape=&circle; //形状 ballShapeDef.density=1.0f; //密度 ballShapeDef.friction=0.3f; //摩擦力 ballShapeDef.restitution=1.0; //恢复力 ballFixture=ballBody->CreateFixture(&ballShapeDef); [ball setB2Body:ballBody]; //将小球物体和精灵联系起来 ball.position=ccp(p.x, p.y); //一定要在上一行代码之后 }
相关文章推荐
- Cocos2d学习之路五(Box2d使用CCPhysicsSprite时编译不通过解决方法)
- QNX IDE使用cin输入变量不能编译通过的解决方法
- vs2012下mfc程序通过ado方式使用access数据库编译的程序在xp底下无法使用解决方法
- 在AMD机器上使用QT5.8 MSVC2015 32bit无法编译通过的解决方法
- 关于MFC使用deque、vector等容器编译不通过的解决方法
- 在使用android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。
- WCF Host通过编译但是无法使用的解决之一
- 【Cocos2d-X(1.x 2.x) 修复篇】iOS6 中 libcurl.a 无法通过armv7s编译以及iOS6中无法正常游戏横屏的解决方法
- ios 解决第三方类库无法通过armv7s编译的方法
- 使用vs2015编译VTK INSTALL-仅用于项目-仅生成INSTALL出错解决方法
- 非OpenGL版本的Qt使用QGLWidget构建OPenGL应用须知与编译错误解决方法
- 关于使用android studio 2.2.3版本编译报错过于简洁无法定位错误解决方法
- 解决第三方类库无法通过armv7s编译的方法、添加Default-568h@2x.png
- 使用ASIHTTPRequest 编译提示找不到"libxml/HTMLparser.h"的解决方法
- 使用DELPHI编译的程序出现病毒的解决方法
- 手把手教你:解决boost库编译使用后thread类使用报错的方法
- 使用NDK交叉编译ffmpeg+libx264找不到libx264的解决方法
- 使用ASIHTTPRequest xcode编译提示找不到"libxml/HTMLparser.h",解决方法如下
- maven编译指定使用自己配置的jdk而不是eclipse自带的解决方法
- flex中文(zh_CN)本地化应用编译不通过的解决方法