ページ 11

画像をメモリーに読み込む

Posted: 2011年5月13日(金) 18:51
by 豆腐
画像をメモリーに読み込むというDXライブラリの関数の使い方が分からないのですが
ゲームのメインループの外にyomikomi()関数とかをつくって画像の読み込みを管理するのが
正しいやり方なのでしょうか?
それと、使わないメモリー(例えばRPGなどでマップ移動をしたら前のマップの画像は要らなくなりますよね)
はとっとと削除して使うたびに読み込み関数を呼び出すという方が
空きメモリーも少なくて済むのでしょうか?  教えてください

Re: 画像をメモリーに読み込む

Posted: 2011年5月13日(金) 19:28
by softya(ソフト屋)
豆腐 さんが書きました:画像をメモリーに読み込むというDXライブラリの関数の使い方が分からないのですが
ゲームのメインループの外にyomikomi()関数とかをつくって画像の読み込みを管理するのが
正しいやり方なのでしょうか?
それは、LoadGraph()などの事でしょうか?
もしLoadGraph()などの事であれば、LoadGraphScreen()などの様にロードと表示を同時に行う関数は大変遅いので実用的ではありません。
普通はロードだけを先に行いメインループでは、DrawGraph()で表示だけを行います。
豆腐 さんが書きました:それと、使わないメモリー(例えばRPGなどでマップ移動をしたら前のマップの画像は要らなくなりますよね)
はとっとと削除して使うたびに読み込み関数を呼び出すという方が
空きメモリーも少なくて済むのでしょうか?  教えてください
破棄すべきかは、消費メモリ量と相談すべき事柄ですね。
破棄せず残しておけば、次のロードが必要ないので高速に切り替えるとことが出来ます。
使用した順番を管理しておいて古いものから捨てて行くのが気の利いた処理ってやつでしょうね。
OSに載っているメモリ量を考慮して破棄を管理出来ればなお良いでしょう。

Re: 画像をメモリーに読み込む

Posted: 2011年5月13日(金) 19:57
by 豆腐
OSの空きメモリーで画像を管理するのは難しそうなので一々、破棄する方法をとりたいと思います
メインループで描画ということはyomikomi関数をループの外につくり
画像ハンドルを引数としてbyouga関数に渡す・・・この手順でよろしいでしょうか?

頭の悪い質問ですが回答おねがいします

Re: 画像をメモリーに読み込む

Posted: 2011年5月13日(金) 20:29
by hidden
どの関数にどんな引数を渡して~
と云うのは豆腐さんのプログラムがどんな構造になっているのかによって大きく変わりますので
今、豆腐さんが出している情報ではなかなかそれで良い、悪いはなかなか出せないです。
メインループの中でメモリから画像を消去するのであれば、
メインループの中に読み込む関数がないとあまり意味がないと思いますよ。

Re: 画像をメモリーに読み込む

Posted: 2011年5月13日(金) 20:59
by softya(ソフト屋)
豆腐 さんが書きました:OSの空きメモリーで画像を管理するのは難しそうなので一々、破棄する方法をとりたいと思います
メインループで描画ということはyomikomi関数をループの外につくり
画像ハンドルを引数としてbyouga関数に渡す・・・この手順でよろしいでしょうか?

頭の悪い質問ですが回答おねがいします
簡単ならゲームなら、それでOKです。
もし、何面もあるアクション・STGゲームやRPG等の場合はマップの切り替えや戦闘の度にロードが起こりますので、フラグなどで一時的にロード処理を呼び出すのが普通です。
なので、マップの読み込みや戦闘の読み込みなど色々な読み込み処理もメインループ中にif文で条件次第で行うようにしないとダメです。
それと描画は、マップ、キャラなど細かく小分けした方が良いでしょう。

Re: 画像をメモリーに読み込む

Posted: 2011年5月13日(金) 21:06
by 豆腐
すいません
自分の中でフラグ変数という考えがとんでいました~
ではがんばります ありがとうございました