gpt4 book ai didi

cocos2d-iphone - 启用/禁用 CCMenu 对象的更好方法

转载 作者:行者123 更新时间:2023-12-04 06:50:48 25 4
gpt4 key购买 nike

* Assertion failure in -[CCTouchDispatcher forceAddHandler:array:], /libs/cocos2d/Platforms/iOS/CCTouchDispatcher.m:108

* Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Delegate already added to touch dispatcher.'



导致它的线路是
skillsMenu.isTouchEnabled = YES;
skillsMenu只是一个 CCMenu .我喜欢经常使用上面的行启用/禁用它。

问题是,我不知道如何正确解释这个错误——我不知道为什么设置这个属性会导致这样的错误。

也许一开始就使用那条线是错误的。没有更好的方法来启用/禁用 CCMenu ?

cocos2d-iphone 1.0.1

最佳答案

isTouchEnabled注册/取消注册对象的触摸处理程序。

过去在同一步骤中注册和取消注册触摸处理程序会导致问题,但在最近的版本中,我相信这已得到修复。

在任何情况下,如果您只是想临时启用/禁用菜单,启用/禁用单个菜单项的问题会小一些:

-(void) modifyMenu:(CCMenu*) menu withEnabledValue:(BOOL) enabled
{
CCMenuItem *menuItem;
CCARRAY_FOREACH(menu.children, menuItem)
{
[menuItem setIsEnabled: enabled ];
}
}

关于cocos2d-iphone - 启用/禁用 CCMenu 对象的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13655320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com