我正在使用 cocos2d 为 iPhone 开发 2d 游戏。
我在游戏中使用了许多小精灵(图像)。我想触摸两个相似类型的精灵(图像),然后两个精灵(图像)将被隐藏。
如何检测特定精灵(图像)中的触摸?
更好的方法是实际使用精灵本身的边界框(它是一个 CGRect)。在此示例代码中,我将所有精灵放入 NSMutableArray 中,然后简单检查精灵触摸是否在边界框中。确保在 init 中打开触摸检测。如果您注意到我还通过返回 YES(如果我使用触摸)或 NO(如果我不使用)来接受/拒绝图层上的触摸
- (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event
{
CGPoint location = [self convertTouchToNodeSpace: touch];
for (CCSprite *station in _objectList)
{
if (CGRectContainsPoint(station.boundingBox, location))
{
DLog(@"Found sprite");
return YES;
}
}
return NO;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)