Мобильные платформы
GameDev.ru / Мобильные платформы / Форум / cocos2d-x заменить одно физическое тело( объект А ) на другое( объект Б ), сохранив движение по инерции от старого тела( объекта А ).

cocos2d-x заменить одно физическое тело( объект А ) на другое( объект Б ), сохранив движение по инерции от старого тела( объекта А ).

Поделиться
InkscapeПользовательwww7 сен. 201719:21#0
Всем привет!

В игре, которую я создаю на движке cocos2d-x с использованием физики, происходит замена одного спрайта и физического тела PhysicsBody на другие спрайт и тело. В момент замены, тело которое будет заменено другим телом, движется по инерции после контактов с другими объектами в игровом мире. Мне нужно, чтобы создаваемое новое тело, перенимало это движение по инерции у тела, которое я удаляю из сцены. Сейчас же, после замены, новое тело просто останавливается.

Подскажите пожалуйста, как это делается?

InkscapeПользовательwww8 сен. 201716:38#1
По видимому, придётся очень-очень много времени ковырять движок.

Правка: 8 сен. 2017 16:39

InkscapeПользовательwww8 сен. 201717:46#2
На счёт много времени, я очень-очень погорячился.
    float inertia = oldPers->getPhysicsBody()->getMoment();
    Vec2 velocity = oldPers->getPhysicsBody()->getVelocity();
    float angular_velocity = oldPers->getPhysicsBody()->getAngularVelocity();

    newPers->getPhysicsBody()->setMoment( inertia );
    newPers->getPhysicsBody()->setVelocity( velocity );
    newPers->getPhysicsBody()->setAngularVelocity( angular_velocity );

/ Форум / Мобильные платформы / Общее

2001—2017 © GameDev.ru — Разработка игр