LINUX.ORG.RU

История изменений

Исправление u0atgKIRznY5, (текущая версия) :

Вот как.

angle = atan2 ( event.motion.y - pd.y - 64, event.motion.x - pd.x - 64 );
angle = angle * 180 / M_PI;
cd.x = 180 * cos ( angle ) + pd.x + 64;
cd.y = 180 * sin ( angle ) + pd.y + 64;
Так как я увеличиваю рисунок, то у меня изображение вместо 32x32 становиться 128x128.
angle - сначала радиана, потом угол.
event.motion - координаты передвижения курсора.
pd - позиция персонажа, с вычетом пол картинки, или с плюсом пол картинки.
cd - позиция прицела.

Исходная версия u0atgKIRznY5, :

Вот как.

angle = atan2 ( event.motion.y - pd.y - 64, event.motion.x - pd.x - 64 );
angle = angle * 180 / M_PI;
cd.x = 180 * cos ( angle ) + pd.x + 64;
cd.y = 180 * sin ( angle ) + pd.y + 64;
Так как я увеличиваю рисунок, то у меня изображение вместо 32x32 становиться 128x128.
angle - сначала радиана, потом угол.
even.motion - координаты передвижения курсора.
pd - позиция персонажа, с вычетом пол картинки, или с плюсом пол картинки.
cd - позиция прицела.