Cocos2D for iPhone中的多点触控无法正常工作

12

我对cocos2D非常熟悉(已经使用它工作了一年多),遇到了一个问题,我的多点触控游戏中的多点触控无法正常工作。

我拥有:
在我的代理中设置了[glView setMultipleTouchEnabled:YES]
一个不实现touches方法的playscene
很多我自己创建的对象(继承自CCLayer)被添加到了playscene中。
这些对象实现了触摸方法并且是目标协议的代理。
[CCTouchDispatcher sharedDispatcher] addTargetedDelegate:self priority:0 swallowsTouches:YES];

与cocos2D中的触摸测试相同的体系结构可以正常工作。唯一的区别是他们使用CCSprite而不是CCLayer作为对象的父类。

有人有任何想法吗?


你还在寻找解决方案吗?当你使用你的实现触摸屏幕时会发生什么?你的触摸回调函数(begin/moved/finished)中是否得到任何响应? - Rob Segal
2
你永远猜不到!当然我知道XCode并不是世界上最好的IDE,有时候你需要清理项目并重新构建...但我从未想过要创建一个新项目并将所有内容导入其中。那就是问题所在!!!真是够糟糕的...我以为我只需要编码...之后,一切都正常工作了。 - George
是的,有时候会发生这种情况。很高兴听到现在一切都正常了。你应该将它作为答案添加到你的问题中以关闭它。 - Rob Segal
2个回答

1
我是这样做的: 在应用程序代理中:
[glView setMultipleTouchEnabled:YES] 

然后在你的游戏中,你会看到触摸操作如下:

self.isTouchEnabled = YES;
- (void)ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {}
- (void)ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {}
- (void)ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {}
- (void)ccTouchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {}

通过这个,我解决了我的问题,希望它能帮到你。


0

哎呀,你绝对猜不到!当然我知道XCode并不是世界上最好的IDE,有时候你应该清理项目并重新构建...但我从来没有想过要创建一个新项目并将所有内容导入其中。那就是问题所在!!!真是搞砸了...我以为只需要编码就可以了...之后,一切都正常工作了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接