Есть ли в cocos2d сетевой игры в виде линкора сетка? - PullRequest
0 голосов
/ 11 октября 2011

Я уже некоторое время использую cocos2d и хочу создать игру на линкоре.Дело в том, что я, вероятно, могу сделать линкор с UiKit (UIButtons и UIImageView) проще и быстрее, чем в cocos2d, но я хочу в полной мере использовать cocos2d, потому что я думаю, что он лучше для игр.Проблема в том, что мне нужна сетка для линкора или что-то, чтобы отделить касания в квадрантах.Есть ли что-то вроде gridview в cocos2d?Если нет, то я думаю, что мне пришлось бы создавать свои собственные квадранты путем программирования?Как вы думаете, это лучший метод?Большое спасибо Карлос Варгас

1 Ответ

2 голосов
/ 25 октября 2011

В 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...