実行してみるとわかると思いますが画像の動きが変です。
どうしたらよいでしょうか?
移動するための座標の計算は原点から直線ABの任意の点pまで動かしたい場合はx=cosθ*op , y=tanθ*x とやって求めています。
#include "DxLib.h"
#include<Windows.h>
#include<math.h>
#include <stdio.h>
#define PI 3.1415926535897932384626433832795f
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
int JHandle;
double x,y,s=0 ,r=30;
float fx,fy;
//ウインドウモードで起動
ChangeWindowMode( TRUE ) ;
if( DxLib_Init() == -1 ) // DXライブラリ初期化処理
{
return -1; // エラーが起きたら直ちに終了
}
//裏画面を描画対称にする
SetDrawScreen(DX_SCREEN_BACK);
// BMP画像のメモリへの読みこみ
JHandle = LoadGraph( "horizon.png" ) ;
while( ProcessMessage() == 0 )
{
x=cos(r * PI / 180.0)*s;
y=tan(r * PI / 180.0)*cos(r * PI / 180.0)*s;
fx = (float)x;
fy = (float)y;
// 画面のクリア
ClearDrawScreen() ;
//補間処理
SetDrawMode( DX_DRAWMODE_BILINEAR );
DrawRotaGraph( 300+fx , 100-fy , 1.0 , r * PI / 180.0 , JHandle , TRUE , FALSE ) ;
s++;
Sleep(10);
ScreenFlip(); //画面入れ替え
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}