В настоящее время я делаю сверху вниз RPG gfx actiong на Java, используя jbox2d. По сути, я хочу, чтобы враги откатились назад после того, как игрок их ударил (с графикой сверху вниз у меня нет трения или гравитации). Я пытался с реституцией, применяя импульс и устанавливая линейную скорость, но я не получил то, что ожидал: враги телепортируются к месту назначения мгновенно, и, если они находятся возле стены, они переносятся с карты. Как я могу это исправить и что лучше всего сделать по вашему мнению? большое спасибо
Я не знаю, как вы используете jbox2d и c ++ одновременно …
Независимо от того, если ваши враги физически представлены b2_dynamicBody
с, то вы, вероятно, хотите применить линейный импульс и установить линейное демпфирование тела противника до значения больше нуля. Линейное демпфирование работает как воздушное сопротивление. Чем быстрее движется объект, тем больше сила, приложенная в противоположном направлении. Применение большого линейного импульса и установка высокого линейного демпфирования заставят ваших врагов улететь от вашего героя с очень высокой начальной скоростью, но они очень быстро остановятся.
Надеюсь, это поможет!
Других решений пока нет …