cocos2D的iPhone和触摸检测问题

cocos2D的iPhone和触摸检测问题,第1张

概述我只是不明白 我使用cocos2d来开发iPhone / Pod上的小游戏.框架只是很棒,但是触摸检测失败.我读到你只需要覆盖适当的功能(例如“touchesBegan”)来实现一个类CocosNode的类.但它不行.我该怎么做错了? 功能: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{NSLog(@"tickle 我只是不明白
我使用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和触摸检测问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1085772.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存