背景の画像について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぐれーと

背景の画像について

#1

投稿記事 by ぐれーと » 15年前

こんにちわ。今日も適当にいろいろやってみようかなと思っていたらわからないことがありました。
下のようにただ単に左右にキャラが移動するようなプログラムを書いてみたんですが、
背景の画像を入れたいんですけど、
whileの中に LoadGraphScreen(0,0,"haikei5.png",FALSE);
を入れると、なんだか動作が重くなります。
かといってwhileの上に LoadGraphScreen(0,0,"haikei5.png",FALSE);
を書くと、一瞬で消えてしまいます。
ちゃんと表示するにはどうしたらいいでしょうか?



#include "DxLib.h"

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //初期化処理

typedef struct{
int x,y,gazou;
}xh_t;

char Key[256];
int gazou[16];
xh_t xh;

xh.x = 0;
xh.y = 350;

SetDrawScreen( DX_SCREEN_BACK ); //裏画面に設定
LoadDivGraph("char.png",16,4,4,32,32,gazou);

while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されていない

if(Key[KEY_INPUT_LEFT]==1)
xh.x -= 3;
if(Key[KEY_INPUT_RIGHT]==1)
xh.x += 3;

xh.gazou = gazou[8];

LoadGraphScreen(0,0,"haikei5.png",FALSE); //背景(どこに入れたらよいのやら・・・)
DrawGraph(xh.x , xh.y , xh.gazou , TRUE);

ScreenFlip();//裏画面を表画面に反映
}

DxLib_End();
return 0;
}

motuna

Re:背景の画像について

#2

投稿記事 by motuna » 15年前

LoadGraphScreenは毎回読み込みをしてしまうので処理は遅くなるようです。

ゲームプログラミングの館の
14. メモリに画像を読み込んで表示する。 に詳しく書いてあります

閉鎖

“C言語何でも質問掲示板” へ戻る