首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用CCMenuItem直到动画完成

禁用CCMenuItem直到动画完成
EN

Stack Overflow用户
提问于 2013-09-07 17:50:54
回答 2查看 369关注 0票数 1

我有一个CCMenuItem,我想在动画完成之前禁用它,但是我不想用禁用所有的触摸:

代码语言:javascript
复制
    [CCDirector sharedDirector].touchDispatcher.dispatchEvents = NO;

有什么简单的解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-07 17:58:12

首先使用CCSequence来使用动画操作,然后创建一个以CCMenuItem作为参数调用函数的操作,并在该函数中使其启用。

代码示例:(PS:我很久没有使用cocos2d了。)

代码语言:javascript
复制
{
...
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
EN

Stack Overflow用户

发布于 2013-09-13 08:50:32

可以禁用CCMenuItem

代码语言:javascript
复制
CCMenuItem *item = [[CCMenuItem alloc] initWith...];
item.isEnabled = YES;

之后再启用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18676189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档