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

时间:2012-06-18 17:08:46

标签: iphone objective-c xcode cocos2d-iphone

我正在寻求帮助。我正在尝试制作一些益智游戏,我的主要图层底部有一个薄的可滚动图层,其中包含一些拼图形状。我可以滚动图层并查看每个形状,但是形状是手动定位在可滚动图层上的代码中,问题是,如果我尝试检测我是否触及精灵,哪个位置大于1024(在第一个iPad中)它没有'工作。它不起作用,因为触摸可以在1024X768内部具有位置,并且形状的位置例如是1500x100。为了使它更清晰,形状是精灵,我尝试使用CGRectContainsPoints方法检测它们。有没有其他方法来制作它或有任何想法?提前谢谢:]

1 个答案:

答案 0 :(得分:0)

您可以做的是为您的精灵创建子类,为其创建一个委托,并将您的主视图/类指定为委托。

实现适当的触摸方法,并将选择了精灵的消息发送给您的委托(主视图或所需的控制器类)。

这样每个sprite都有相同的委托,并向你的控制类发送一条消息,告知你选择了哪个sprite并继续使用所需的功能。无需CGRectContainsPoint方法。

这更干净,效率更高。

希望这有帮助!