我们如何在cocos2D中为CCSprite设置标记

时间:2014-09-23 11:45:11

标签: ios objective-c cocos2d-iphone

我是cocos2D的新手。我想为CCSprite设置Tag但这显示我在cococs2D版本3中的错误,而我在Stackoverflow [set tag]属性上看到了答案,但它在cocos2d版本3中不起作用。 我需要的是我创造了两个不同的怪物,我想在碰撞委托中发现哪个怪物碰撞了。 让我告诉你我是如何创造怪物的。

CCSprite *monster = [CCSprite spriteWithImageNamed:@"xyz.png"];
int minY = monster.contentSize.height / 2;
int maxY = self.contentSize.height - monster.contentSize.height / 2;
int rangeY = maxY - minY;
int randomY = (arc4random() % rangeY) + minY;

// 2
monster.position = CGPointMake(self.contentSize.width + monster.contentSize.width/2, randomY);
monster.physicsBody = [CCPhysicsBody bodyWithRect:(CGRect){CGPointZero, monster.contentSize} cornerRadius:0];
monster.physicsBody.collisionGroup = @"monsterGroup";
monster.physicsBody.collisionType  = @"monsterCollision";
[_physicsWorld addChild:monster z:1];

// 3
int minDuration = 2.0;
int maxDuration = 4.0;
int rangeDuration = maxDuration - minDuration;
int randomDuration = (arc4random() % rangeDuration) + minDuration;

// 4
CCAction *actionMove = [CCActionMoveTo actionWithDuration:randomDuration position:CGPointMake(-monster.contentSize.width/2, randomY)];
CCAction *actionRemove = [CCActionRemove action];
[monster runAction:[CCActionSequence actionWithArray:@[actionMove,actionRemove]]];




- (BOOL)ccPhysicsCollisionBegin:(CCPhysicsCollisionPair *)pair monsterCollision:(CCNode *)monster projectileCollision:(CCNode *)projectile
{


    [monster removeFromParent];
    [projectile removeFromParent];

    score=score+1;

    return YES;
}

这里我想通过Tag或图像获取CCsprite我不知道如何在碰撞委托中识别CCsprite。

1 个答案:

答案 0 :(得分:1)

我不确定,但我认为你可以在添加精灵时设置精灵的名字属性,如:

[self addChild:(CCNode *) z:(NSInteger) name:(NSString *)]

然后通过

获取

getChildByName