2014-02-15 54 views
0

我在將Cocos2d-x Project構建到Android項目時遇到問題。 在這個項目中我使用Box2D。使用box2d-x導出Cocos2d-x項目到Android項目

它提醒:

在我已經使用b2World的CreateBody功能的所有線路以temporacy [-fpermission]

的地址,如以下:

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

對不起我沒有足夠的聲望發佈圖片。

任何人都可以幫我解決這個項目。

先謝謝了!

回答

1

給CreateBody的參數應該是b2BodyDef *(指向b2BodyDef的指針)。例如:

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

或...

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

你的代碼試圖傳遞一個函數,它並沒有真正意義的返回值的地址。如果你想存儲在「鳥」類的主體定義並作出一個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())); 
+0

它的工作,太感謝你了:d。 – user3312754

+0

太棒了!你能標記答案爲正確的PLZ :) – iforce2d