Как справиться с игровым миром, используя упаковку, используя cocos2d на iPhone - PullRequest
1 голос
/ 22 февраля 2012

У меня есть игровой мир, который намного больше, чем порт просмотра, главный персонаж все время остается в центре порта просмотра, а фоновый слой перемещается, чтобы создать впечатление движения персонажа. Я хочу сделать так, чтобы игровой мир обернулся, то есть если персонаж продолжит двигаться влево или вправо, он в конечном итоге вернется в исходное положение. В игровом мире будут существовать движущиеся объекты, поэтому самая большая проблема, которую я предвижу, заключается в том, что если вы перейдете в дальний правый угол карты, вы сможете увидеть любые движущиеся объекты, которые находятся в первом небольшом разделе крайне левого края карта.

Я немного подумал об этом, и любое решение, которое я нашел, кажется слишком сложным. Как создать два одинаковых игровых мира рядом и перемещать их соответственно. Я живу надеждой, что есть элегантное решение для этого. Буду признателен за любой опыт, которым вы сможете поделиться.

Я использую cocos2d на iPhone на всякий случай, если какая-то разница.

Ответы [ 2 ]

2 голосов
/ 22 февраля 2012

В качестве примера можно привести смещение x, y для вашей камеры и многомерный массив объектов спрайтов.

Когда игрок движется, значение смещения изменяется, например, xMove = -1.4 и yMove = + 2.6.

Тогда вы бы итерировали и меняли позиции всех плиток на эту сумму.

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

Все это будет сделано на одном и том же запланированном «тике», поэтому графические артефакты не возникнут.

Я очень удивлен, что никто еще не создал карту для мозаики для cocos2d.

1 голос
/ 22 февраля 2012

Я не могу дать конкретного совета по cocos2d, но я бы сказал, что наиболее распространенный способ сделать это - создать один игровой мир, нарисовать (его части) несколько раз и убедиться, что ваша логика для таких вещей, как столкновения и ИИпроверяет, где это необходимо.

Так что, если персонаж вашего игрока находится близко к углу мира, вы четыре раза нарисовали бы мир с разными смещениями.На самом деле это не должно рисовать каждую вещь в мире четыре раза больше, чем вы обычно должны рисовать весь мир, когда на экране отображается только небольшая его часть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...