Я работаю над платформером для iPhone, который использует Box2D и cocos2D.
Я пытаюсь найти способ создать такое же поведение для моего контролируемого персонажа, как в играх Sonic the Hedgehog, но продолжаю использовать физическую библиотеку Box2D, поскольку хочу, чтобы снаряды и некоторые объекты уровня вели себя в соответствии с реалистичная физика, наряду с определенными ситуациями, в которых участвует контролируемый персонаж (прыжки, попадание в объекты и т. д.).
Основные проблемы, с которыми я сталкиваюсь, - это удержание персонажа на земле при прохождении по выпуклым кривым и поддержание чувства контакта с землей, пока не будет достигнуто значительное расстояние от него. Я только хочу, чтобы персонаж реагировал на левые и правые команды, когда на земле, но моя фигура имеет тенденцию отрываться от земли при прохождении небольших кривых, так что время реакции задерживается ненадолго, пока контакт не восстановится. Визуально разделения нет, но оно достаточно велико, чтобы изменить состояние на земле или нет. Кроме того, персонаж не «обнимает» большие кривые так, как мне хотелось бы.
Я пытался приложить дополнительную нисходящую силу, когда на земле, но она не работает достаточно быстро для больших кривых, и достаточно большие силы, чтобы эффективно мешать регулярному движению персонажа. Есть мысли по этим вопросам?