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];
}