ページ 11

「画像を動かす」という所で詰まっています

Posted: 2008年7月27日(日) 23:21
by FG
つい最近C言語の勉強をし始めたのですが、ゲームプログラミングの館12節の「画像を動かす。」という項目で困っています
サンプルのプログラムをコピーして実行しているのですが、実行してもしばらく何も起こらず、しばらく経った後に実行結果の画像の様に残像が残ったもの(移動が終了した状態のもの)だけが表示されてしまいます。
その次の残像を残さずに画像を動かすプログラムも実行してみましたが、やはり移動が終了したもののみが表示され、移動している筈の時間はなにも表示されず、真っ黒なままです。
ウィンドウでもフルスクリーンでも試してみましたが結果は変わらず、PCも再起動したりしましたが解決せず、私では全く見当がつきません…
Visual C++ 2008 Express Edition、PCのOSはWindows Vistaで作業していますが、その類が原因なのでしょうか…。原因に心当たりがある方、どうかコメントをお願いいたします。

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月27日(日) 23:44
by 組木紙織
コードを見ただけで読んでいませんが。
Sleep(10);
たぶんここが問題かと。
もっと大きい数字にしてみたらいかがでしょうSleep(1000)で約1秒となります。

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月27日(日) 23:58
by FG
お早いご返答ありがとうございます
sleepを100にしてやってみましたが、真っ暗な時間が長くなるだけでやはり表示はされませんでした。
時間が約10倍になっているようなので、やはり移動している時は表示されないようです。すみません。

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月28日(月) 00:00
by 通りすがり
ちゃんと解説読んでるんでしょうか。
その節はそういう問題を経験させる節ですよね。

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月28日(月) 00:05
by FG
解説はよんで今までやってきました。今までの節はうまくいってました。
DXライブラリの方の設定などまた見直してまた試してみます。すいません

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月28日(月) 00:07
by 管理人
こんにちは。
12章は、正確に表示されません。
チカチカしたり、前に表示されたものが残ったり、場合によっては表示されないかもしれません。
この節では次の節で説明する「裏画面処理」が何故必要なのかを説明する為の
間違ったソースコードです(画像を動かす場合)

正常に画像を表示させるには13章のようなプログラムを書かなければなりません。
もし13章まで読んでもらってそれでもうまくいかなければまたお聞き下さい。

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月28日(月) 00:15
by FG
ありがとうございます!13節の解説を見て実行したら問題なく出来ました!
12節は、画像が動きながら残像が残るものと勝手に解釈していました。すいません
管理人さま自らが質問に答えて下さり、感激です。組木紙織さん、通りすがりさんもお早いご返答ありがとうございます!素人で申し訳ありませんでした。

Re:「画像を動かす」という所で詰まっています

Posted: 2008年7月28日(月) 00:33
by 管理人
いえいえ、12章にちょっと説明が足りませんでしたね。
こちらこそ参考になりましたm(_ _)m