我有一个CCMenuItem
我希望在动画完成之前禁用它,但我不想要禁用所有触摸:
[CCDirector sharedDirector].touchDispatcher.dispatchEvents = NO;
任何简单的解决方案?
答案 0 :(得分:1)
使用CCSequence
首先使用动画动作,完成后,您可以创建一个动作,以CCMenuItem
作为参数调用函数,并在该函数中启用它。
代码示例:( PS:自从我使用cocos2d以来已经很长时间了。)
{
...
CCMenuItem *menuItem = [CCMenuItem itemWith...];
menuItem.isEnable = NO;
CCMenu *menu = [CCMenu menuWithItems:menuItem, nil];
[self addChild:menu];
[menuItem runAction:[CCSequence actions:[CCAction actionWith...], [CCCallFunc actionWithTarget:self selector:@selector(enable:)], nil]];
...
}
-(void)enable:(CCMenuItem *)item {
item.isEnable = YES;
}
答案 1 :(得分:1)
您可以使用
禁用CCMenuItemCCMenuItem *item = [[CCMenuItem alloc] initWith...];
item.isEnabled = YES;
然后启用它。