我想根据鼠标旋转图像。这个想法是一个太空飞船游戏。飞船的尖端跟随着鼠标光标,这取决于航天器旋转角度的光标位置。根据鼠标旋转图像
我使用的快板旋转功能:
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
当确定根据鼠标旋转的直角时,只需发送角度为th e“DrawSpaceship”功能。该功能在主循环中绘制太空船。
观测值:我使用C和Allegro5
'ATAN2(DY,DX)'会照顾的被零除,并且还根据dx'的'符号放置角度在正确象限和'dy'。 (然后你可能不得不交换减法的参数,所以角度为0意味着太空船以(1,0)方向朝向。) –