



〜中級編〜(中級的な関数の使い方)
51. 画像を回転、拡大縮小描写する。
画像の回転と拡大、描写を同時に扱える関数がDrawRotaGraphです。仕様詳細についてはこちらをご覧ください。
DrawRotaGraph( X座標 , Y座標 , 拡大率 , 回転角度 , 画像ハンドル , 透過フラグ
, 反転表示フラグ);
拡大率は1.0で等倍です。回転角度はラジアンで指定します。0度は0ラジアン、180度は3.14ラジアン、つまりπです。
360度は3.14*2ラジアンであり、0と同じです。3.14*2ラジアンと0ラジアンは同じですから、
360度ごとに最初に戻ります。つまりラジアンは増やしっぱなしでもくるくる回ってくれます。円周率は最初に
#define PI 3.1415926
このように定義しておきましょう。
初めて出てきた「反転表示フラグ」は画像を左右反転させて表示するかどうかのフラグでTRUEにすると反転、
FALSEにすると、反転せず普通に描画します。
#include "DxLib.h"
#define PI 3.1415926
int image[16],count=0;
char Key[256];
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1;
SetDrawScreen( DX_SCREEN_BACK );
LoadDivGraph( "char.png" , 16 , 4 , 4 , 32 , 32 , image ) ;
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && Key[KEY_INPUT_ESCAPE]==0){
DrawRotaGraph( 320 , 240 , (double)count*0.01 , PI*((double)count*0.001) , image[0] , TRUE ) ;
count++;
ScreenFlip();
}
DxLib_End();
return 0;
}
- Remical Soft -