ページ 11

画像がちらついて表示されてしまう

Posted: 2014年3月01日(土) 22:13
by kirin

コード:

#include "DxLib.h"

int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int){
	//ウィンドゥモード変更と初期化と裏画面設定
	ChangeWindowMode(TRUE),	DxLib_Init(), SetDrawScreen(DX_SCREEN_BACK);

	int image[16];
	int i=0,x=0;

	LoadDivGraph("画像/キャラクタ10.png",16,4,4,32,32,image);

	while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0){

		if(i%60 == 0){
			DrawGraph(100,100,image[x],TRUE);
			x++;			
		}
		i++;
	}

	DxLib_End();    // DXライブラリ終了処理
	return 0;
}
====================================================================
新・ゲームプログラミングの館の、2.8章 画像を分割して読み込む を参考に、
1秒毎にマップ画像が入れ替わるプログラムを書きました。

このプログラムを実行すると、画像が一瞬で表示されては消え、次の画像に映ってしまいます。
whileループ中のClearDrawScreen()を、DrawGraph()の前に書くことで解決はするのですが、
このwhile条件を変えずにちゃんと表示させる対処法はないでしょうか?

Re: 画像がちらついて表示されてしまう

Posted: 2014年3月01日(土) 22:23
by kirin
ごめんなさい!掲示板に書いた直後に解決しました。

コード:

	while(ScreenFlip()==0 && ProcessMessage()==0 && ClearDrawScreen()==0){
		DrawGraph(100,100,image[x],TRUE);
		
		//1秒毎に画像を切替える為に、xを加算する
		if(i%60 == 0)	x++;			

		i++;

	}
で正常に動きました。