如何隐藏每两个精灵的精灵?

时间:2013-05-25 14:31:36

标签: cocos2d-iphone

我正在开发一个cocos2d游戏,它将在子弹的帮助下射击导弹,在这里每当我射击导弹时,导弹必须隐藏,但我的问题在于每发射2枚子弹我必须隐藏一枚导弹。

这是我的代码

if (CGRectIntersectsRect(bullet.boundingBox, missile.boundingBox)){  
    target--;  
    [objectiveLabel setString:[NSString stringWithFormat:@"%d",target]];  
    bullet.visible = NO;  
    missile.visible = NO;  
    continue;  
} 

此代码适用于单拍,但我想要2拍摄相同的功能

任何人都建议我如何完成这项任务

提前致谢

1 个答案:

答案 0 :(得分:0)

为您的导弹对象添加一个属性,并在您的代码中对其进行测试,如下所示:

@property(nonatomic,readwrite) NSUInteger shotsToDeath;

初始化导弹时:

-(id) init {
    if(self=[super init]) {
        // add the following line to your init
        self.shotsToDeath = 1;  // default
        return self;
    }
    return nil;
}

当你制造导弹时,你可以加速杀死他的射击次数:

missile.shotsToDeath = 2;   // if appropriate (depends on difficulty level ?)

最后在上面的例程中:

if (CGRectIntersectsRect(bullet.boundingBox, missile.boundingBox)){  
    missile.shotsToDeath--;
    if(0==missile.shotsToDeath {
        target--;  
        [objectiveLabel setString:[NSString stringWithFormat:@"%d",target]];  
        missile.visible = NO;  
    }
    bullet.visible = NO;
    continue;
} 

编。没有测试,没有编译,仅仅是为了这个想法。谨防减量,确保你不要以-1结束:)