Cocos2d дизайн сетки для рисования линий - PullRequest
2 голосов
/ 05 марта 2011

Привет, ребята У меня небольшая проблема при разработке игры для iphone с сеткой с использованием cocos2d.

Для игры нужна сетка 10х10 в середине экрана (она не покрывает весь экран). Линия рисуется во время выполнения, когда пользователь касается двух точек сетки.

Вопрос: будет ли tilemap идеально подходить для этой проблемы? Так как мне нужно убедиться, что координаты принадлежат сетке или нет, когда пользователь касается точки, будет ли полезна карта тайлов?

Вопрос: Есть ли лучший способ решить эту проблему в cocos2d. Пожалуйста, помогите мне.

Спасибо

1 Ответ

0 голосов
/ 08 марта 2011

Я бы не рекомендовал использовать плитку для этого. Лично я бы все сделал с математикой.

Давайте поспорим, что ваши квадраты сетки имеют размер 10 на 10 пикселей.

Теперь вы мгновенно узнаете позиции ритов для каждого квадрата.

в правом верхнем углу будет (90, 0, 10, 10), это, очевидно, не включает в себя расположение вашей сетки, но вы можете легко добавить это к этому, добавив .. (90 + gridPos.x, 0 + gridPos.y, 10, 10).

Тогда вы просто проверяете, что ваши касания пересекаются с сетками.

Рисовать линию довольно просто, я думаю, вы бы нарисовали ее из центра двух точек сетки.

Таким образом, если линия начинается в верхнем правом квадрате сетки, ее начальная точка будет начинаться с (90 + gridPos.x, 0 + gridPos.y, 5, 5) или (90 + gridPos.x, 0 + gridPos. y, gridSquareHeight / 2, gridSquareWidth / 2)

Используя cocos2d, довольно просто также сделать каждый квадрат сенсорным спрайтом, который может реагировать на прикосновения, как вам угодно, отправляя сообщение обратно делегату или даже просто делая визуальный эффект.

Существует множество возможностей для решения этой проблемы.

...