4章で、少し面倒くさそうな話をしたので、処理も複雑になるのでは?と心配した人もいるかもしれませんが、
そこは、DXライブラリですから心配しないで下さい。
・画像をロードする
・ロードした画像を表示する
というたった二つの関数で実現出来ます。
画像をロードするとデータハンドルと呼ばれる識別番号が返ってきます。
例えばセルフのラーメン屋さんでラーメン頼んだとして「受付番号10番でお待ちください」と言われたとするとこの「10番」が識別番号です。
自分のラーメンはこの番号で識別するわけですね。
そのように読み込んだ画像も識別番号であるデータハンドルを使って描画を行います。
画像をロードしてデータハンドルを返す関数は LoadGraph関数 です。LoadGraph関数 のリファレンスを確認 してみましょう。
宣言 | int LoadGraph( char *FileName ) ; |
概略 | 画像ファイルのメモリへの読みこみ、及び動画ファイルのロード |
引数 | FileName : ロードする画像、及び動画ファイルの ファイルパス文字列へのポインタ |
戻り値 | -1 : エラー発生 -1以外 : グラフィックのハンドル |
引数にはファイル名を渡してください。サンプルの場合「"画像/キャラクタ00.png"」となります。
すると、int型でデータハンドルが返ってきますので、変数に格納します。
int Handle;
Handle = LoadGraph( "画像/キャラクタ00.png" );
こんな感じですね。このデータハンドルを使って描画するには DrawGraph関数 を用います。DrawGraph関数 のリファレンスを確認 してみましょう。
宣言 | int DrawGraph( int x, int y, int GrHandle, int TransFlag ) ; |
概略 | メモリに読みこんだグラフィックの描画 |
引数 | x , y : グラフィックを描画する領域の左上頂点の座標 GrHandle : 描画するグラフィックのハンドル TransFlag : 透過色を有効にするか、のフラグ(TRUEで有効、FALSEで無効) |
前の章で紹介した関数と第三引数が異なるだけです。
ファイル名ではなく、LoadGraph関数 で取得したデータハンドルを渡しています。
全体のプログラムコードを確認してみましょう。
#include "DxLib.h" int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){ ChangeWindowMode( TRUE ); // ウィンドウモードに設定 DxLib_Init(); // DXライブラリ初期化処理 int Handle; // データハンドル格納用変数 Handle = LoadGraph( "画像/キャラクタ00.png" ); // 画像をロード DrawGraph( 50, 100, Handle, TRUE ); // データハンドルを使って画像を描画 WaitKey(); // キー入力があるまで待機 DxLib_End(); // DXライブラリ終了処理 return 0; }
実行結果
実行結果は同じです。
こうしてデータハンドルを使った描画が出来ました。
- Remical Soft -