ページ 11

SetDrawScreen()が使えない!

Posted: 2008年9月14日(日) 07:23
by JugS
プログラミングの館の「処理速度を一定にする」のところのプログラムを、
クラス化してみようと思ったのですが、画面に何も表示されないので、
調べようと思い、ループ処理の前に、
    
color_white = GetColor(255,255,255);

DrawString(0,80,"while外1",color_white);
Sleep(3000);

ClearDrawScreen();

SetDrawScreen( DX_SCREEN_BACK );

DrawString(0,120,"while外2",color_white);
ScreenFlip;

Sleep(2000);

    while( 略 
と追加して実行すると
 「while外1」と表示され、3秒後に消えてそこで止まってしまい、
SetDrawScreen()以降の処理が実行されてませんでした。

どうしてでしょうか?

Re:SetDrawScreen()が使えない!

Posted: 2008年9月14日(日) 09:20
by tk-xleader
まずサンプルプログラムは動作するのですよね?
後環境を教えてください。

Re:SetDrawScreen()が使えない!

Posted: 2008年9月14日(日) 12:14
by yuuki++
赤字に注目してください。

color_white = GetColor(255,255,255);

DrawString(0,80,"while外1",color_white);
Sleep(3000);

ClearDrawScreen();

SetDrawScreen( DX_SCREEN_BACK );

DrawString(0,120,"while外2",color_white);
ScreenFlip;

Sleep(2000);

ケアレスでしょうが、ここはScreenFlip();と、関数を呼び出さないと裏画面が描写されません。
実はこれ、関数のポインタが置いてあるだけで、何もしてないんです。
でも式値(というのだろうか)は有効なので、コンパイルは通るようですね。

Re:SetDrawScreen()が使えない!

Posted: 2008年9月15日(月) 00:24
by JugS
返信遅くなってすいません。

おっしゃるとおり()のつけ忘れでした。
つけたら正常に表示されるようになりました。

が、52FPSだったのでちょっとガッカリでしたね。

yuuki++さん
ご指摘ありがとうございました。

tkmakwins15さん
すいません、お早い返信でしたのに答えるのが遅れました。