在我的 cocos2d 和 box2d 游戏中,我的 CCScene 上有 UIView。我有这个问题,UIView 吞下了所有的触摸,CCLayer 的 ccTouchesBegin 等方法没有被调用。
有什么办法可以将触摸传递给我的 CCLayer?我用谷歌搜索了这个,但在这件事上我一无所获,只得到了关于从层到层阻止触摸的结果。
有人知道吗?所有帮助将不胜感激,在此先感谢
在我的 cocos2d 和 box2d 游戏中,我的 CCScene 上有 UIView。我有这个问题,UIView 吞下了所有的触摸,CCLayer 的 ccTouchesBegin 等方法没有被调用。
有什么办法可以将触摸传递给我的 CCLayer?我用谷歌搜索了这个,但在这件事上我一无所获,只得到了关于从层到层阻止触摸的结果。
有人知道吗?所有帮助将不胜感激,在此先感谢
在您的图层的初始化函数中,尝试添加以下代码:
[[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:NO];
如果这不起作用,这里有两个链接可能会对您有所帮助。第一个是 StackOverflow 问题,看起来与您的问题有些相似。另一个是 Cocos2D 论坛的问题,有人与您有相反的问题,但查看他们的代码和他们的问题的答案可能会给您更多尝试的东西。
祝你好运,伙计!
感谢您的提示,我尝试了您的代码@doctorBroctor,但没有成功。但我最终通过委托使其工作。只是将 UIView 的委托方法编码到我的层。