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