DXライブラリ、C言語(C++少し)で作成しています。Visual C++2010を使用。
使用関数外でグローバル変数としてHandle,Handle2に画像を読み込み、表示させたいです。
それぞれ、描画部分がある関数内で読み込みを行うとうまく表示されるのですが、この関数がループで回るものなので毎回画像を読み込み、消費メモリが鬼のようになります。以下は作成したコードの該当部分です。
int Handle = LoadGraph("画像/無題.png");
int Handle2 = LoadGraph("画像/弾00.png");
//タスクの処理関数(自機用)
void Ctrl_Mine(TASK* task) {
// assertを使って構造体のサイズをチェックする
assert(sizeof(WORK)<=WORK_SIZE);
// 汎用のワークエリアへのポインタを、
// 自機ワークエリア構造体へのポインタにキャストする
WORK* work=(WORK*)task->Work;
if( Key[ KEY_INPUT_RIGHT ] >= 1 && work->x <= 620) work->x +=4;
if( Key[ KEY_INPUT_DOWN ] >= 1 && work->y <= 460) work->y +=4;
if( Key[ KEY_INPUT_LEFT ] >= 1 && work->x >= 20 ) work->x -=4;
if( Key[ KEY_INPUT_UP ] >= 1 && work->y >= 20 ) work->y -=4;
DrawRotaGraph(work->x, work->y, 1.0, 0.0, Handle, TRUE );//描画部分
}
//タスクの処理関数(その他)
void CA(TASK* task) {
assert(sizeof(WORK)<=WORK_SIZE);
WORK* work=(WORK*)task->Work;
work->x += 0;
work->y += 1;
DrawRotaGraph(work->x, work->y, 1.0, 0.0, Handle2, TRUE );//描画部分
}