Iphone 如何检测出现在设备分辨率以上位置的触摸

Iphone 如何检测出现在设备分辨率以上位置的触摸,iphone,objective-c,xcode,cocos2d-iphone,Iphone,Objective C,Xcode,Cocos2d Iphone,我在寻求帮助。我正在尝试制作一些益智游戏,在我的主层底部有一个薄的可滚动层,其中包含一些益智形状。我可以滚动该层并查看每个形状,但形状是在可滚动层上的代码中手动定位的,问题是,如果我尝试检测是否触摸了sprite,哪个位置大于1024(在第一台iPad中),它就不起作用。它不起作用,因为触控可以在1024X768内部有位置,形状的位置是例如1500x100。为了让它更清楚,形状是精灵,我尝试使用CGRectContainsPoints方法检测它们。有没有别的办法,或者你有什么想法?提前感谢:您可

我在寻求帮助。我正在尝试制作一些益智游戏,在我的主层底部有一个薄的可滚动层,其中包含一些益智形状。我可以滚动该层并查看每个形状,但形状是在可滚动层上的代码中手动定位的,问题是,如果我尝试检测是否触摸了sprite,哪个位置大于1024(在第一台iPad中),它就不起作用。它不起作用,因为触控可以在1024X768内部有位置,形状的位置是例如1500x100。为了让它更清楚,形状是精灵,我尝试使用CGRectContainsPoints方法检测它们。有没有别的办法,或者你有什么想法?提前感谢:

您可以做的是对您的精灵进行子类化,为其创建一个代理,并将您的主视图/类指定为代理

实施适当的触摸方法,并将所选精灵的信息发送给您的学员(主视图或所需的控制器类)

这样,每个精灵都有相同的委托,并向您的控制类发送一条消息,说明选择了哪个精灵并继续使用所需的功能。不需要
CGRectContainsPoint
方法

这更干净、更高效


希望这有帮助

非常感谢您的回复。我不会假装我完全理解它:)因为我会说我是个初学者。你有没有一个博客或网站的链接来解释与你想法相似的东西?谢谢。找到了这个教程,它非常好。我不明白。我不知道如何开始这种“适当的触摸方法”。我不知道还有什么方法能比CGRectContainesPoints和CGRectContainesRect发现我是否触摸了sprite,所以这是我的主要问题,顺便说一句,谢谢你的链接。你可以利用
UITapgestureRecognitizer
类在你的sprite上实现触摸检测。以谷歌为例。