画面はぬるぬる安定した動きをしているのに、
時折画面が一瞬消えてしまいます。
原因と思われるプログラムを見つけたのですが、
解決方法が分かりません。(↓の関数を使わないと、この症状は無くなりました)
このプログラムは「ゲームプログラミングの館」にある、キーの押したフレーム数を測るプログラムです。
int GetHitKeyStateAll_2(int KeyStateBuf[]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key[i]==1) KeyStateBuf[i]++; else KeyStateBuf[i]=0;
}
return 0;
}
・画面はDrawBoxで塗りつぶした上にタイトルロゴ用の画像一つとシンプルです。
・ScreenFlipの戻り値を取ってみましたが正常(0)に動作しているようです。
・画像は読み込めていなくても関係なく症状が起きます。
・消えるときは画像や文字等含め全て消えて、真っ黒になります。
・キーは特に押さなくても起きます。
・規則性は無くアトランダムに起きるようです。
・音楽も流してますが、音楽の有無は関係無いようです。
・GetHitKeyStateAllでも同じ症状が起きました。
・問題のプログラムを消して、プログラムのあった場所に故意にfor文を挟んでみましたが症状は起きませんでした
・C++でクラスを使用してますが、この事と因果関係は無いように思えます。
その他必要な情報があればその都度お答えします。
解決方法に限らず、考えられる原因等でも教えて頂ければ幸いです。
よろしくお願いします。
長々と失礼しました。