使用box2d-x将Cocos2d-x项目导出到Android项目

时间:2014-02-15 07:25:27

标签: box2d cocos2d-x

我无法将Cocos2d-x Project构建到Android Project。 在这个项目中,我使用Box2D。

警报:

  

考虑临时性[-fpermission]

在我使用b2World的CreateBody函数的所有行中,如下所示:

mBird->setBirdBody(mPhysicalWorld->CreateBody(&mBird->getBodyDef()));
pWallDown->setWallBody(mPhysicalWorld->CreateBody(&pWallDown->getBodyDef()));

对不起,我没有声望发布图片。

任何人都帮我解决这个项目。

先谢谢!

1 个答案:

答案 0 :(得分:1)

给CreateBody的参数应该是b2BodyDef *(指向b2BodyDef的指针)。例如:

b2BodyDef bd;
... set values ...
world->CreateBody( &bd );

...或

b2BodyDef* bd = new b2BodyDef;
... set values ...
world->CreateBody( bd );

您的代码正在尝试传递函数返回值的地址,这实际上没有意义。如果你想将body定义存储在'bird'类中并为它创建一个getter函数,你可以返回一个指向定义的指针,如下所示:

// Bird class stores body definition as member
class Bird {
    b2BodyDef m_bodyDef;
    b2BodyDef* getBodyDef() { return &m_bodyDef; }
};

// Use like this
mBird->setBirdBody( mPhysicalWorld->CreateBody( mBird->getBodyDef() ));