
我使用cocos2d来开发iPhone / Pod上的小游戏.框架只是很棒,但是触摸检测失败.我读到你只需要覆盖适当的功能(例如“touchesBegan”)来实现一个类CocosNode的类.但它不行.我该怎么做错了?
功能:
-(voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{NSLog(@"tickle,hihi!");} 我完全错了吗
谢谢!
层是唯一接触的cocos2d类.诀窍是,所有层的实例都会通过触摸事件,一个接一个,所以你的代码必须处理这个.
我这样做:
-(BOol)cctouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {UItouch *touch = [touches anyObject];CGPoint location = [touch locationInVIEw: [touch vIEw]];CGPoint cLoc = [[Director sharedDirector] convertCoordinate: location];float labelX = self.position.x - HALF_WIDTH;float labelY = self.position.y - HALF_WIDTH;float labelXWIDth = labelX + WIDTH;float labelYHeight = labelY + WIDTH;if( labelX < cLoc.x && labelY < cLoc.y && labelXWIDth > cLoc.x && labelYHeight > cLoc.y){ NSLog(@"WE ARE touchED AND I AM A %@",self.labelString); return kEventHandled; } else { return kEventIgnored; } }
请注意,cocos2d库具有“cctouchesEnded”实现,而不是Apple标准.它允许您返回一个BOol,指示是否处理了该事件.
祝你好运!
总结以上是内存溢出为你收集整理的cocos2D的iPhone和触摸检测问题全部内容,希望文章能够帮你解决cocos2D的iPhone和触摸检测问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)