Button 一触即不起作用的按钮

Button 一触即不起作用的按钮,button,cocos2d-iphone,Button,Cocos2d Iphone,这是我的开机按钮: CCMenuItemImage *bottone = [CCMenuItemImage itemFromNormalImage:@"Icon-72.png" selectedImage:@"Icon-72.png" target:self selector:@selector(bottone)]; bottone.position = ccp(200,-100); CCMenu *menu = [CCMenu menuWithItems:bottone, nil]; [se

这是我的开机按钮:

CCMenuItemImage *bottone = [CCMenuItemImage itemFromNormalImage:@"Icon-72.png" selectedImage:@"Icon-72.png" target:self selector:@selector(bottone)];
bottone.position = ccp(200,-100);

CCMenu *menu = [CCMenu menuWithItems:bottone, nil];
[self addChild:menu];
这是我按下按钮时的方法:

-(void) bottone

{
    float scaleDuration = 1.0;
    float waitDuration = 5.0;
    _invincible = YES;
    CCParticleSystemQuad *boostEffect = [_boostEffects nextParticleSystem];
    [boostEffect resetSystem];

    [_ship runAction:
     [CCSequence actions:
  //    [CCMoveBy actionWithDuration:scaleDuration position:ccp(winSize.width * 0.6, 0)],
      [CCDelayTime actionWithDuration:waitDuration],
 //     [CCMoveBy actionWithDuration:scaleDuration position:ccp(-winSize.width * 0.6, 0)],
      nil]];

    [self runAction:
     [CCSequence actions:
      //   [CCScaleTo actionWithDuration:scaleDuration scale:0.75],
      [CCDelayTime actionWithDuration:waitDuration],
      [CCScaleTo actionWithDuration:scaleDuration scale:1.0],
      [CCCallFunc actionWithTarget:self selector:@selector(boostDone)],
      nil]];
}

这是可行的,但我希望玩家可以使用上电X倍。更好地解释,触摸按钮1或2次,然后停止,按钮将不可用。

将菜单设为实例变量,然后创建计数器,检查它被用作LearnCos2D建议的次数。并定义最大使用次数,即

// In your .h
int _numUses = 0;
CCMenu *menu;

// In your .m
#define kMaxUses 2
然后,您可以通过几种方式处理限制。首先,您可以在按下按钮后进行检查,以确定该按钮是否可用

if(_numUses < kMaxUses) {
    // do use 
} 
然后在button方法的末尾添加以下内容

_numUses += 1;
if(_numUses > kMaxUses) {
    CCMenuItemImage *buttone = (CCMenuItemImage *)[menu getChildByTag:100];
    [buttone setIsEnabled:NO];
}

这样,当玩家不能再使用按钮时,按钮被禁用,并且对他们来说显然不能使用按钮

统计使用次数,然后如果(numUses_numUses += 1; if(_numUses > kMaxUses) { CCMenuItemImage *buttone = (CCMenuItemImage *)[menu getChildByTag:100]; [buttone setIsEnabled:NO]; }