我正在尝试根据鼠标旋转图像。这个想法是一个太空飞船游戏。飞船的尖端跟随鼠标光标,这取决于飞船旋转角度的光标位置。
我正在使用的Allegro旋转功能:
al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X,Y,DEGREES_TO_ROTATE_IN_RADIANS);
这是宇宙飞船的x和y位置:
spaceship.x
spaceship.y
以及鼠标光标的x和y位置:
game_event.mouse.x
game_event.mouse.y
当确定与鼠标旋转的直角时,只需发送“ DrawSpaceship”功能的角度即可。此功能在主循环中绘制飞船。
Obs:我正在使用C和Allegro5
最佳答案
atan ((spaceship.y - game_event.mouse.y) / (spaceship.x - game_event.mouse.x));
当然可以通过测试避免
/ 0
你会需要
#include <math.h>