1
我一直試圖弄清楚這幾天,但我一直無法弄清楚我的問題是什麼。cpShapes不會碰撞?
所以我使用cocos2d和花栗鼠空間管理器來創建我的遊戲。所以我正在做的是創建4個cpShapes,並附加到一個cpBody並將它們附加到CCSprite。這是我的代碼。
- (id) helmetInit:(Game*)game {
cpShape *helmet_1;
cpShape *helmet_2;
cpShape *helmet_3;
cpShape *reference = [game.spaceManager addCircleAt:cpvzero mass:STATIC_MASS radius:2];
helmet_1 = [game.spaceManager addCircleToBody:reference->body radius:20 offset:cpv(-5, 2)];
helmet_2 = [game.spaceManager addCircleToBody:reference->body radius:8 offset:cpv(16, -14)];
helmet_3 = [game.spaceManager addCircleToBody:reference->body radius:8 offset:cpv(8, -14)];
reference->group = 1;
// helmet_1->group = 1;
// helmet_2->group = 1;
// helmet_3->group = 1;
[self initWithFile:@"Helmet.png"];
[self setShape:reference];
//[self setBody:reference->body];
self.spaceManager = game.spaceManager;
self.autoFreeShapeAndBody = YES;
gameScreenSize = game.contentSize;
return self;
}
所以我的問題是,我得到任何的衝突是,如果我在我的遊戲其他形狀的一個碰撞的(參考形狀)的唯一時間,這是與人體產生的形狀,所有形狀正在分享。如果我瞭解花栗鼠的工作方式,並不是每個形狀都有碰撞,因爲其他形狀就像那裏一樣。其他形狀直接通過它們,直到它們與參考形狀相碰撞,參考形狀是目前唯一具有任何碰撞的形狀。我做錯了什麼,或者我不理解花栗鼠的工作方式?
下面是我創建的4個形狀的屏幕截圖。
來修復它我們可以看到設置碰撞的位置嗎? – daveMac 2013-02-28 16:41:28
我真的可以在這方面使用一些幫助。我不知道什麼是錯的? – Stephen 2013-03-01 16:12:20