古いプロジェクトでは、この質問のように衝突を作成します: なぜ衝突が機能しないのか、cocos2d v3? . 正常に実行されましたが、新しいプロジェクトを作成したときに何か問題がありました。今回は何が違うのかわかりません。私を助けてください。
-(void)addAIAction:(int)i{
if (!arrAI) {
arrAI = [[NSMutableArray alloc]init];
}
CCSprite *sprite = [CCSprite spriteWithImageNamed:@"res/gu_button.png"];
sprite.position = [GameConfig convertPoint:ccp(viewSize.width, 160)];
sprite.physicsBody.collisionType=@"aiCollision";
sprite.physicsBody = [CCPhysicsBody bodyWithCircleOfRadius:sprite.contentSize.width/2 andCenter:ccp(sprite.contentSize.width/2, sprite.contentSize.height/2)];
sprite.physicsBody.type = CCPhysicsBodyTypeDynamic;
[_physicsNode addChild:sprite];
[arrAI addObject:sprite];
}
// ------------------------------------------------ -----------------------
-(void)update:(CCTime)delta{
for (CCSprite *sp in arrPlayer) {
sp.position= ccp(sp.position.x+playerSpeed, sp.position.y);
}
for (CCSprite *sp in arrAI) {
sp.position= ccp(sp.position.x-aiSpeed, sp.position.y);
}
デリゲートを実装します。
-(BOOL)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair playerCollision:(CCNode *)nodeA aiCollision:(CCNode *)nodeB{
NSLog(@"Coll.");
- (id)init
{
// Apple recommend assigning self with supers return value
self = [super init];
if (!self) return(nil);
viewSize=CGSizeMake([GameConfig converPoint:480], [GameConfig converPoint:320]);
_physicsNode = [CCPhysicsNode node];
_physicsNode.collisionDelegate =self;
_physicsNode.debugDraw =YES;
_physicsNode.gravity=ccp(0, 0);
「 ccPhysicsCollisionBegin 」がみんなに感謝しない理由を教えてください