0

在我的 cocos2d 和 box2d 游戏中,我的 CCScene 上有 UIView。我有这个问题,UIView 吞下了所有的触摸,CCLayer 的 ccTouchesBegin 等方法没有被调用。

有什么办法可以将触摸传递给我的 CCLayer?我用谷歌搜索了这个,但在这件事上我一无所获,只得到了关于从层到层阻止触摸的结果。

有人知道吗?所有帮助将不胜感激,在此先感谢

4

2 回答 2

1

在您的图层的初始化函数中,尝试添加以下代码:

[[[CCDirector sharedDirector] touchDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:NO];

如果这不起作用,这里有两个链接可能会对您有所帮助。第一个是 StackOverflow 问题,看起来与您的问题有些相似。另一个是 Cocos2D 论坛的问题,有人与您有相反的问题,但查看他们的代码和他们的问题的答案可能会给您更多尝试的东西。

祝你好运,伙计!

于 2013-09-30T20:45:21.003 回答
0

感谢您的提示,我尝试了您的代码@doctorBroctor,但没有成功。但我最终通过委托使其工作。只是将 UIView 的委托方法编码到我的层。

于 2013-10-01T13:04:40.093 回答