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

cocos2d-iphone – 启用禁用CCMenu对象的更好方法,第1张

概述* Assertion failure in -[CCTouchDispatcher forceAddHandler:array:], /libs/cocos2d/Platforms/iOS/CCTouchDispatcher.m:108 * Terminating app due to uncaught exception ‘NSInternalInconsistencyException’,

* 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对象的更好方法全部内容,希望文章能够帮你解决cocos2d-iphone – 启用/禁用CCMenu对象的更好方法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/999988.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存