ページ 11

背景を表示しつつのキャラ画像の移動について

Posted: 2011年5月28日(土) 16:03
by はすみ
初歩的な質問で申し訳ないのですが、よろしければご教授ください。
ゲームプログラミングの館様で、画像の移動については理解できているものの、背景を表示しつつキャラの移動をさせていると、毎回のループでClearDrawScreen()を使ってしまうため、背景も消えてしまいます。
この背景が消えるのを防ぐにはどんなプログラムにするべきなんでしょうか。

ちなみに現在自分のプログラムは、ゲームプログラミングの館様のサンプルプログラムをそのまま流用して試しています。

コード:

 
SetDrawScreen( DX_SCREEN_BACK ) ;           // 描画先を裏画面に設定
 
        int i ;
        for( i = 0 ; i < 300 ; i ++ )
        {
                ClearDrawScreen();                            // 裏画面のデータを全て削除
                LoadGraphScreen( i, 0, "char.png" , TRUE ) ; //裏画面へ画像を描写
                ScreenFlip() ;                                // 裏画面データを表画面へ反映
        }
どうかご教授お願いします。

Re: 背景を表示しつつのキャラ画像の移動について

Posted: 2011年5月28日(土) 17:54
by softya(ソフト屋)
ここのコンテンツである「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」にも書かれていますが、
http://dixq.net/g/01_03.html
LoadGraphScreenという関数はテスト時以外には使用しないで下さい。
とあります。つまり、これが問題なのです。

次の章に「1.4章 画像をロードして表示する」がありますね。
http://dixq.net/g/01_04.html
ただ、これでも問題があって
「1.7章 裏画面処理をして画像を動かす」
http://dixq.net/g/01_07.html
が基本的な書きかというかなりますが、これらに必要なものを加えた
「1.9章 ゲームプログラムの骨格の完成」
http://dixq.net/g/01_09.html
が原型となるべきです。

【訂正】
あっ背景描いてませんね。
h2so5さんの言われるとおり背景も描く必要があります。
DrwaGraphで背景→キャラクタの順で描画してください。

Re: 背景を表示しつつのキャラ画像の移動について

Posted: 2011年5月28日(土) 17:55
by h2so5
背景を毎回描画すればいいだけです。

Re: 背景を表示しつつのキャラ画像の移動について

Posted: 2011年6月01日(水) 21:39
by はすみ
すいません、返信遅れました。


やはり毎回描写しかないんですね、これでようやく作業再開できると思います。
すぐに教えてくださったお二方、どうもありがとうございました!