Движение карты 2D-игры

У меня есть случайно сгенерированная 2d-карта для платформера, состоящая из блоков (квадраты 40 на 40), хранящихся в массиве из 30, у меня есть функция push для перемещения блоков вокруг push, изменяет xpos, а также положение в массиве, который я только когда-либо рисуя позиции 5-25 в массиве.

Когда я двигаюсь, я буду перемещать персонажа только в первой половине экрана. так что есть конфликт между средней частью и 0xpos экрана, теперь проблема, с которой я сталкиваюсь, заключается в перемещении блоков.

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


person user23012    schedule 05.07.2012    source источник
comment
Я не могу понять ваш вопрос!   -  person hamed    schedule 05.07.2012
comment
@hamed я в основном спрашиваю, как переместить карту, чтобы она выглядела естественно с тем, что у меня есть   -  person user23012    schedule 05.07.2012


Ответы (2)


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

http://www.cplusplus.com/reference/stl/queue/

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

person Mortalitas    schedule 05.07.2012

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

person Felice Pollano    schedule 05.07.2012
comment
я мог бы посмотреть, как он это делает, но, поскольку это для демонстрации моего резюме, я бы предпочел сделать свое собственное для простых вещей, таких как это - person user23012; 05.07.2012