2011-10-11 73 views
0

我已经使用cocos2d一段时间了,我想制作一个战舰游戏。 事情是我可以使用UiKit(UIButtons和UIImageView)比使用cocos2d更容易,更快速地使用战舰,但是我想充分利用cocos2d,因为我认为这对游戏更好。问题是我需要一个战列舰的网格或其他东西来区分象限中的触摸。在cocos2d中是否有类似gridview的东西?如果没有,我认为我将不得不通过编程创建自己的象限? 您认为最好的方法是什么? 非常感谢 卡洛斯巴尔在战舰游戏的cocos2d中是否有gridview?

回答

2

有没有在cocos2d基类来做到这一点,但你可以很容易地使专门用来处理触摸一个类,并把它们映射到正确的象限。

所以,如果你有一个小480x320屏幕,象限大小为32,你可以得到正确的象限犹如一抹:

有了这样的配置,你将有三十二分之四百八十零= 15,320/32 = 10,10 * 15 = 150;一个150象限网格。

e.g:要获得象限触摸

// 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;