画面のちらつきをなくしたい

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

画面のちらつきをなくしたい

#1

投稿記事 by ルート » 13年前

コード:

#include "DxLib.h"


//*******************************
//画像のロード
//*******************************
int grf[9];
void g_load()
{
grf[0]=LoadGraph("フェイス.png");
grf[1]=LoadGraph("図書館.png");



}
//**********************************
//メインループ
//**********************************
 int WINAPI WinMain( HINSTANCE , HINSTANCE,LPSTR , int  )
 {


      ChangeWindowMode(TRUE),SetWindowSize(1000,600),DxLib_Init(),SetDrawScreen(DX_SCREEN_BACK);   //ウィンドウモード変更、初期化、裏画面設定
 
       g_load();
       int a, b, c, ans;
       int my=30, teki=50;
       int white = GetColor(255,255,255);
	       
	       while( (my>0) && (teki>0) && ProcessMessage()==0&& ClearDrawScreen()==0 
                 && ScreenFlip()==0 &&  CheckHitKey(KEY_INPUT_ESCAPE)==0){
                  DrawGraph(0,0,grf[1],TRUE);
                  DrawGraph(0,0,grf[0],TRUE);
				  
				  a = GetRand(10);
                  b = GetRand(10);
                  c = a + b;
 
                      if(c>10){ //10以上は表示しないようにする
						 continue;
                      }
 
                 DrawFormatString(515,20,white,"[yusya_hp:%d]", my);               //自分のHP表示座標
                 DrawFormatString(35,20,white,"[teki_hp:%d] ",teki);              //敵のHP表示座標
                 DrawString(170,10," teki:「このもんだいをといてみろ」",white);    //言葉の表示座標
                 DrawFormatString(300,40,white,"%d+%d=",a,b);                     //問題の表示座標
                 ans = KeyInputNumber( 350,40, 10, 0 , FALSE ) ;

                     if(c==ans){
                         teki=teki-ans;
                         my=my+ans;
	                 }
                     if(c!=ans){
                         my=my-c;
	                 }                 
                     if( teki<=0) {
                         break;
                     }

                     if(my<=0){
                         break;
					 }
		   }
 DxLib_End();
return 0;
 }
ScreenFlip()==0を消すとちらつきはなくなるのですが、http://dixq.net/g/h_11.htmlにかいてあるように書いて ... はなくなるでしょうか

non
記事: 1097
登録日時: 15年前

Re: 画面のちらつきをなくしたい

#2

投稿記事 by non » 13年前

KeyInputNumberを行っていること自体が、http://dixq.net/g/h_11.htmlにかいてある
「不適切な実装2. WaitやSleepを行っている。」に違反しているわけです。
non

ISLe
記事: 2650
登録日時: 15年前
連絡を取る:

Re: 画面のちらつきをなくしたい

#3

投稿記事 by ISLe » 13年前

ClearDrawScreen()==0 && ScreenFlip()==0
という並びも良くないと思います。

ルート

Re: 画面のちらつきをなくしたい

#4

投稿記事 by ルート » 13年前

non さんが書きました:KeyInputNumberを行っていること自体が、http://dixq.net/g/h_11.htmlにかいてある
「不適切な実装2. WaitやSleepを行っている。」に違反しているわけです。
KeyInputNUMberを使わないと数値入力はできないと思うのですが・・・・
また、画像を動かさない場合でも裏処理は必要なのでしょうか?

non
記事: 1097
登録日時: 15年前

Re: 画面のちらつきをなくしたい

#5

投稿記事 by non » 13年前

ルート さんが書きました: KeyInputNUMberを使わないと数値入力はできないと思うのですが・・・・
面倒ですが、できないということではありません。
ルート さんが書きました: また、画像を動かさない場合でも裏処理は必要なのでしょうか?
今回は、裏画面を使う必要はないでしょう。
non

閉鎖

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