全くの初心者です。
DXライブラリを使って簡単なRPGのような物を作っています。
12×12のマップで、初代ゼルダの伝説のような、あるいは昔流行ったWWAというwebで遊べるRPGのような方式で、
画面端まで行って、さらに画面外の方向にキーを押すと画面が切り替わる方式で現在9画面分(12×12×9)分あります。
こちらの(http://dixq.net/g/26.html)方法で、壁を作ったのですが、
配列は初期化が初めにしかできないとのことで、現在
char wall[9][12][12] = {
{
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,2,2,2 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,0,0,0,0,0,0,0,0,0,0,0 },
{ 1,1,1,1,1,1,1,1,1,1,1,1 }
},{
{ 2,2,2,2,2,2,2,2,2,2,2,0 },
・・・略・・・
};
という、12×12が9個も続くような形になっています。(0が道、1が壁、2は敵が出現する範囲としました)
現在は9画面なのでいいのですが、将来マップ数を増やしたときに、結構なメモリを食うのでは?と少し心配です。
この程度のメモリ消費ならば特に問題はないのでしょうか?
また、もし良い代替案がありましたらご教授頂けないでしょうか。
2次元のマップで
Re: 2次元のマップで
メモリの消費自体は大したことがないと思います。
sizeof(int)*12*12 = 576[byte]
画像一枚のほうが容量が明らかに大きいですしね。
ですが、開発の効率などを鑑みるに配列を使うのは少し面倒です。
なので、マップエディタを使うことをおすすめします。
sizeof(int)*12*12 = 576[byte]
画像一枚のほうが容量が明らかに大きいですしね。
ですが、開発の効率などを鑑みるに配列を使うのは少し面倒です。
なので、マップエディタを使うことをおすすめします。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 2次元のマップで
メモリは心配らないですが、画像パターンがシンプルならテキストファイルという手もあります。
マップに0,1,2以外が必要ならマップエディタを考えてみたほうが良いでしょう。
「Vector:ダウンロード Windows > ゲーム > ゲーム用ユーティリティ > ゲーム開発 > マップエディタ」
http://www.vector.co.jp/vpack/filearea/ ... /make/map/
マップに0,1,2以外が必要ならマップエディタを考えてみたほうが良いでしょう。
「Vector:ダウンロード Windows > ゲーム > ゲーム用ユーティリティ > ゲーム開発 > マップエディタ」
http://www.vector.co.jp/vpack/filearea/ ... /make/map/
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: 2次元のマップで
ご回答ありがとうございます!
早速Platinumというマップツールを用いて、とりあえず現在と同じマップを作ってみましたが、出力したfmfファイルかcsvファイルをどのようにC++で読み込めば良いのか分かりません・・・
どのように使用するのか分かりやすい解説、または解説のあるページを教えて頂けますでしょうか?
早速Platinumというマップツールを用いて、とりあえず現在と同じマップを作ってみましたが、出力したfmfファイルかcsvファイルをどのようにC++で読み込めば良いのか分かりません・・・
どのように使用するのか分かりやすい解説、または解説のあるページを教えて頂けますでしょうか?
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: 2次元のマップで
下に検索があるのでPlatinumで検索して過去ログを見てもらうとか、私の書いたRPG作成講座があるのですが参考にしてください。Platinumを使っています。Dys9 さんが書きました:ご回答ありがとうございます!
早速Platinumというマップツールを用いて、とりあえず現在と同じマップを作ってみましたが、出力したfmfファイルかcsvファイルをどのようにC++で読み込めば良いのか分かりません・・・
どのように使用するのか分かりやすい解説、または解説のあるページを教えて頂けますでしょうか?
「マイ 日記 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/blog.php?u=114&sd=a&c=2
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。