Я делаю медленный, но уверенный прогресс в игре Cocos2d, но я застрял в создании движущихся платформ.
Главный персонаж нуждается в физике и обнаружении столкновений, и поэтому является формой / телом бурундука. Я написал класс для перебора TMXTiledMap, чтобы сократить количество тел в пространстве бурундука. Так с такой картой
----------
--------x-
-xxx----x-
----------
вместо того, чтобы иметь 5 отдельных тел (rects), есть два тела, одно - три плитки шириной, другое - две плитки высотой.
Мне удалось заставить код работать, чтобы определить, какие плитки являются частью движущейся платформы, и перемещать плитки по мере необходимости.
Однако, тела должны двигаться вместе с плитками, чтобы это работало правильно. И вот где я застрял. Тела статической массы, так что ...
platformShape-> body-> p = cpv (x, y);
Ничего не делает (я предполагаю, что это ожидаемое поведение).
Но если я установлю их массу на что-либо кроме статики, вся физика вступит в игру, и тела будут вести себя не так, как ожидалось, или они будут вести себя отлично, в зависимости от того, как вы на это смотрите. Они двигаются хаотично и вращаются, когда попадают в другое тело (например, главного героя). То, что я ищу, - это типичный тип движущейся платформы, который вы ожидаете найти в типичной игровой платформе, которая плавно движется в любом заданном направлении.
У меня вопрос; Кто-нибудь реализовывал что-то подобное раньше и какова была ваша техника? Или, если бы вы реализовали нечто подобное, как бы вы это сделали?
Соответствующий код здесь . Я положил его в пустышку, так как считаю, что это скорее концептуальное недоразумение, чем все остальное.