2012-07-28 37 views
0

我對Cocos2d和Box2d非常有經驗,並且想要嘗試使用Chipmunk。一切正常,只要我添加精靈到helloworldlayer,但如果我添加另一個圖層,並嘗試添加一個精靈到該新圖層崩潰。Cocos2d v2 + Chipmunk:向CCLayer添加形狀時失敗

在主層的更新中,cpSpaceStep函數調用中EXC_BAD_ACCESS失敗。

-(void) update:(ccTime) delta 
{ 
    // Should use a fixed size step based on the animation interval. 

    int steps = 2; 
    CGFloat dt = [[CCDirector sharedDirector] animationInterval]/(CGFloat)steps; 

    for(int i=0; i<steps; i++){ 
     HERE -> cpSpaceStep(space_, dt); 
    } 

} 

編輯: 的問題似乎是關於精靈一批節點,而不是CCLayers。

回答

1

花栗鼠實際上並不直接與Cocos2D交互,它只是一個物理引擎。因此,如果在cpSpaceStep()中使用EXC_BAD_ACCESS崩潰,幾乎可以肯定是因爲你給Chipmunk一個懸掛指針的地方,或者有另一個內存錯誤會破壞Chipmunk正在使用的數據。

如果將它編譯爲調試,它究竟在哪裏崩潰?你是否在使用任何回調,並確定它沒有發生在其中之一?