我已经使用cocos2d一段时间了,我想做一个战舰游戏。 事情是我可以用UiKit(UIButtons和UIImageView)与cocos2d更容易和更快地做战舰,但我想充分利用cocos2d,因为我觉得它对游戏更好。问题在于我需要战舰的网格或其他东西来分隔象限中的触摸。在cocos2d中有类似gridview的东西吗?如果不是,我想我必须通过编程创建自己的象限? 您认为最好的方法是什么? 非常感谢 卡洛斯巴尔加斯
答案 0 :(得分:2)
Cocos2d中没有基类可以做到这一点,但您可以轻松制作专门设计用于处理触摸的类,并将它们映射到正确的象限。
因此,如果你有一个480x320的屏幕,并且象限大小是32,你可以得到正确的象限,如:
使用这样的配置,你会得到480/32 = 15,320 / 32 = 10,10 * 15 = 150;一个150象限网格。
例如:获取触摸的象限
// Defined the Quadrant size for your grid
CGPoint quadrantSize = CGPointMake(32.0, 32.0)
// Obtain the quadrant X, Y coordinates for a user touch (assume touchPoint is CGPoint)
int quadrant_x = (int)ceilf(touchPoint.x/quadrantSize.x);
int quadrant_y = (int)ceilf(touchPoint.y/quadrantSize.y);
// Access a Quadrant
quadrantArray[quadrant_x][quadrant_y].touched = YES;