Ios5 鬼鬼祟祟地放/鬼鬼祟祟地扣

Ios5 鬼鬼祟祟地放/鬼鬼祟祟地扣,ios5,cocos2d-iphone,Ios5,Cocos2d Iphone,我目前正在试验各种输入控件,偶然发现了SleekyInput,我正在尝试使用它 不幸的是,当我在层中添加一个SkillyButton(仅一个按钮)时,整个应用程序崩溃,并显示以下错误消息: +[CCTouchDispatcher AddTargetedElegate:优先级:燕子接触:]:发送到类0xfed9c的无法识别的选择器 2012-01-30 10:00:50.881 OpenSpace[588:1be03]***由于未捕获的异常“NSInvalidArgumentException”而

我目前正在试验各种输入控件,偶然发现了SleekyInput,我正在尝试使用它

不幸的是,当我在层中添加一个SkillyButton(仅一个按钮)时,整个应用程序崩溃,并显示以下错误消息:

+[CCTouchDispatcher AddTargetedElegate:优先级:燕子接触:]:发送到类0xfed9c的无法识别的选择器
2012-01-30 10:00:50.881 OpenSpace[588:1be03]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[CCTouchDispatcher AddTargetedElegate:优先级:燕子接触:]:未识别的选择器发送到类0xfed9c”

我已经为此绞尽脑汁好几个小时了,并尝试在谷歌上搜索解决方案,但几乎没有什么乐趣。这里的任何帮助都将被感激,为什么,为什么它会崩溃

环境:CoCoS2D2.0测试版、OS X 10.7.2、iOS 5.0

代码:

错误消息已满:

2012-01-30 10:00:50.684 OpenSpace[588:1be03] cocos2d: cocos2d v2.0.0-beta2
2012-01-30 10:00:50.685 OpenSpace[588:1be03] cocos2d: Using Director Type:CCDirectorDisplayLink
[Switching to process 588 thread 0x1f113]
2012-01-30 10:00:50.763 OpenSpace[588:1be03] cocos2d: animation started with frame interval: 60.00
2012-01-30 10:00:50.766 OpenSpace[588:1be03] cocos2d: surface size: 960x640
2012-01-30 10:00:50.850 OpenSpace[588:1be03] init: <OpenSpace = 093BFAE0 | Tag = -1>
2012-01-30 10:00:50.857 OpenSpace[588:1be03] cocos2d: CCFileUtils: Warning file not found: spaceship-hd.png
2012-01-30 10:00:50.864 OpenSpace[588:1be03] +[CCTouchDispatcher addTargetedDelegate:priority:swallowsTouches:]: unrecognized selector sent to class 0xfed9c
2012-01-30 10:00:50.881 OpenSpace[588:1be03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[CCTouchDispatcher addTargetedDelegate:priority:swallowsTouches:]: unrecognized selector sent to class 0xfed9c'
*** First throw call stack:
(0x1c4c052 0x21e2d0a 0x1c4dadd 0x1bb2f00 0x1bb2ce2 0xb5438 0x1c4de1a 0x99e19 0x99dba 0x42890 0x345ed 0x1c4de1a 0x99e19 0x99dba 0x42890 0x26edd 0x90d7d 0x921c4 0x2a12db 0x2a11af 0x1c20966 0x1c20407 0x1b837c0 0x1b82db4 0x1b82ccb 0x29fd879 0x29fd93e 0x822a9b 0xb37d6 0x2525)
terminate called throwing an exception[Switching to process 588 thread 0x1be03]
sharedlibrary apply-load-rules all
Current language: auto; currently objective-c
2012-01-30 10:00:50.684开放空间[588:1be03]cocos2d:cocos2d v2.0.0-beta2
2012-01-30 10:00:50.685 OpenSpace[588:1be03]cocos2d:使用控制器类型:CCDirectorDisplayLink
[切换到进程588线程0x1f113]
2012-01-30 10:00:50.763 OpenSpace[588:1be03]cocos2d:动画以帧间隔开始:60.00
2012-01-30 10:00:50.766开放空间[588:1be03]cocos2d:表面尺寸:960x640
2012-01-30 10:00:50.850开放空间[588:1be03]初始:
2012-01-30 10:00:50.857 OpenSpace[588:1be03]cocos2d:CCFileUtils:未找到警告文件:spaceship-hd.png
2012-01-30 10:00:50.864 OpenSpace[588:1be03]+[CCTouchDispatcher AddTargetedElegate:优先级:燕子触摸:]:发送到类0xfed9c的无法识别的选择器
2012-01-30 10:00:50.881 OpenSpace[588:1be03]***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“+[CCTouchDispatcher AddTargetedElegate:优先级:燕子接触:]:未识别的选择器发送到类0xfed9c”
***第一次抛出调用堆栈:
(0x1c4c052 0x21e2d0a 0x1C4ADD 0x1bb2f00 0x1BB2CE2CE2 0xb5438 0x1c4de1a 0x99e19 0x99dba 0x42890 0x345ed 0x1c4de1a 0x99e19 0x99dba 0x42890 0x26edd 0x90d7d 0x921c4 0x2A1DB 0x2A1AF 0x1c20966 0x1c20407 0x1b837c0 0x1b82db4 0x1b82ccb 0x29fd879 0x29fd93e 0x822a9b 0xb37d6 0x2525)
终止调用并引发异常[切换到进程588线程0x1be03]
sharedlibrary应用所有加载规则
当前语言:自动;当前目标-c

SkillyInput是为Cocos2D v0.99/1.0编写的。它可能不适用于CoCoS2D2.0,因为CCTouchDispatcher的API可能已经更改。至少错误消息是这样说的,在CCTouchDispatcher上没有这样的方法


除非您需要或想要使用着色器程序,否则我建议暂时使用cocos2dv1.x。SleekyInput在v1.x上运行良好,我终于设法解决了这个问题,对于那些感兴趣的人来说,解决方案在于将对CCTouchDispatcher的所有引用替换为CCDirector的属性。在cocos2d的2.0版本中,CCTouchDispatcher不再是一个单例,而是CCDirector的一个属性

我已经在github上分叉了SleekyInput库,并直接在那里添加了我的修复程序


谢谢,就这样!昨天晚上,我用cocos 2d 1.1从零开始重新启动,偶然发现了这一点:)也许这就是为什么从docu到cocos2d v2.0:CCActionManager、CCScheduler、CCTouchDispatcher(iOS)和CCEventDispatcher(Mac)不再是单例的原因。相反,它们是CCDirector的属性。下面是我所做的实际更改-
2012-01-30 10:00:50.684 OpenSpace[588:1be03] cocos2d: cocos2d v2.0.0-beta2
2012-01-30 10:00:50.685 OpenSpace[588:1be03] cocos2d: Using Director Type:CCDirectorDisplayLink
[Switching to process 588 thread 0x1f113]
2012-01-30 10:00:50.763 OpenSpace[588:1be03] cocos2d: animation started with frame interval: 60.00
2012-01-30 10:00:50.766 OpenSpace[588:1be03] cocos2d: surface size: 960x640
2012-01-30 10:00:50.850 OpenSpace[588:1be03] init: <OpenSpace = 093BFAE0 | Tag = -1>
2012-01-30 10:00:50.857 OpenSpace[588:1be03] cocos2d: CCFileUtils: Warning file not found: spaceship-hd.png
2012-01-30 10:00:50.864 OpenSpace[588:1be03] +[CCTouchDispatcher addTargetedDelegate:priority:swallowsTouches:]: unrecognized selector sent to class 0xfed9c
2012-01-30 10:00:50.881 OpenSpace[588:1be03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[CCTouchDispatcher addTargetedDelegate:priority:swallowsTouches:]: unrecognized selector sent to class 0xfed9c'
*** First throw call stack:
(0x1c4c052 0x21e2d0a 0x1c4dadd 0x1bb2f00 0x1bb2ce2 0xb5438 0x1c4de1a 0x99e19 0x99dba 0x42890 0x345ed 0x1c4de1a 0x99e19 0x99dba 0x42890 0x26edd 0x90d7d 0x921c4 0x2a12db 0x2a11af 0x1c20966 0x1c20407 0x1b837c0 0x1b82db4 0x1b82ccb 0x29fd879 0x29fd93e 0x822a9b 0xb37d6 0x2525)
terminate called throwing an exception[Switching to process 588 thread 0x1be03]
sharedlibrary apply-load-rules all
Current language: auto; currently objective-c