画像をメモリーに読み込むというDXライブラリの関数の使い方が分からないのですが
ゲームのメインループの外にyomikomi()関数とかをつくって画像の読み込みを管理するのが
正しいやり方なのでしょうか?
それと、使わないメモリー(例えばRPGなどでマップ移動をしたら前のマップの画像は要らなくなりますよね)
はとっとと削除して使うたびに読み込み関数を呼び出すという方が
空きメモリーも少なくて済むのでしょうか? 教えてください
画像をメモリーに読み込む
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 画像をメモリーに読み込む
それは、LoadGraph()などの事でしょうか?豆腐 さんが書きました:画像をメモリーに読み込むというDXライブラリの関数の使い方が分からないのですが
ゲームのメインループの外にyomikomi()関数とかをつくって画像の読み込みを管理するのが
正しいやり方なのでしょうか?
もしLoadGraph()などの事であれば、LoadGraphScreen()などの様にロードと表示を同時に行う関数は大変遅いので実用的ではありません。
普通はロードだけを先に行いメインループでは、DrawGraph()で表示だけを行います。
破棄すべきかは、消費メモリ量と相談すべき事柄ですね。豆腐 さんが書きました:それと、使わないメモリー(例えばRPGなどでマップ移動をしたら前のマップの画像は要らなくなりますよね)
はとっとと削除して使うたびに読み込み関数を呼び出すという方が
空きメモリーも少なくて済むのでしょうか? 教えてください
破棄せず残しておけば、次のロードが必要ないので高速に切り替えるとことが出来ます。
使用した順番を管理しておいて古いものから捨てて行くのが気の利いた処理ってやつでしょうね。
OSに載っているメモリ量を考慮して破棄を管理出来ればなお良いでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
豆腐
Re: 画像をメモリーに読み込む
OSの空きメモリーで画像を管理するのは難しそうなので一々、破棄する方法をとりたいと思います
メインループで描画ということはyomikomi関数をループの外につくり
画像ハンドルを引数としてbyouga関数に渡す・・・この手順でよろしいでしょうか?
頭の悪い質問ですが回答おねがいします
メインループで描画ということはyomikomi関数をループの外につくり
画像ハンドルを引数としてbyouga関数に渡す・・・この手順でよろしいでしょうか?
頭の悪い質問ですが回答おねがいします
-
hidden
Re: 画像をメモリーに読み込む
どの関数にどんな引数を渡して~
と云うのは豆腐さんのプログラムがどんな構造になっているのかによって大きく変わりますので
今、豆腐さんが出している情報ではなかなかそれで良い、悪いはなかなか出せないです。
メインループの中でメモリから画像を消去するのであれば、
メインループの中に読み込む関数がないとあまり意味がないと思いますよ。
と云うのは豆腐さんのプログラムがどんな構造になっているのかによって大きく変わりますので
今、豆腐さんが出している情報ではなかなかそれで良い、悪いはなかなか出せないです。
メインループの中でメモリから画像を消去するのであれば、
メインループの中に読み込む関数がないとあまり意味がないと思いますよ。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 画像をメモリーに読み込む
簡単ならゲームなら、それでOKです。豆腐 さんが書きました:OSの空きメモリーで画像を管理するのは難しそうなので一々、破棄する方法をとりたいと思います
メインループで描画ということはyomikomi関数をループの外につくり
画像ハンドルを引数としてbyouga関数に渡す・・・この手順でよろしいでしょうか?
頭の悪い質問ですが回答おねがいします
もし、何面もあるアクション・STGゲームやRPG等の場合はマップの切り替えや戦闘の度にロードが起こりますので、フラグなどで一時的にロード処理を呼び出すのが普通です。
なので、マップの読み込みや戦闘の読み込みなど色々な読み込み処理もメインループ中にif文で条件次第で行うようにしないとダメです。
それと描画は、マップ、キャラなど細かく小分けした方が良いでしょう。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。