Вы можете использовать физический движок (я предпочитаю Бурундук, поскольку у него более простой API), чтобы применить инерцию и ускорение к системе из двух тел.Прикрепите связь фиксированной длины между телами и примените перетаскивание к обоим телам, но дайте одному телу больше сопротивления, чем другому.Прикрепите спрайт к средней точке этих двух тел, и его угол совпадает с углом между телами, при этом «фронт» спрайта направлен на тело с меньшим сопротивлением.
Если вы уже не используетефизический движок, это больше усилий, чем хакерство, но оно будет выглядеть гораздо более естественным для глаз.
РЕДАКТИРОВАТЬ: В более недавнем проекте я работалметод с одним телом, использующий канавочное соединение (не уверен, что такое эквивалент Box2D) на теле с якорем в мире.Расположите якорь мира вдали от центра тяжести тела и на каждом шаге перемещайте якорь так, чтобы он оставался точно в том же положении относительно тела.Чем дальше от центра тяжести вы устанавливаете якорь, тем медленнее тело поворачивается в направлении движения.