マップ作成について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ど素人

マップ作成について

#1

投稿記事 by ど素人 » 18年前

いつもこのサイトにお世話になっています。

初心者なんですが、今RPG用にマップを作成しようと思っています。
それで、下から順に
1.地面
2.建物
3.人物
という風に3層に分けて作りたいのですがどういう風にしたらいいのでしょうか?

TKSZ

Re:マップ作成について

#2

投稿記事 by TKSZ » 18年前

>>それで、下から順に
>>1.地面
>>2.建物
>>3.人物
>>という風に3層に分けて作りたいのですがどういう風にしたらいいのでしょうか?

そのままプログラムすればいいと思いますよ。
レイヤーという概念を知っておくといいかもです。
いや、別にレイヤー知らなくてもいいですが…(汗
*プログラムは、上から下へ順番に実行されていきます。
ですから、上の方のコードに地面を描画する関数を配置し、
次に建物を描画する関数を配置し、最後に人物を描画する関数を配置
すれば、いいわけです。

while(1)
{
DrawMapAboutGround();
DrawMapAboutBuilding();
DrawMapAboutHuman();
//後は適当な処理をババッ(?)とやればできます。
}

TKSZ

Re:マップ作成について

#3

投稿記事 by TKSZ » 18年前

すいません、サイズが大きかったみたいです。
今度は貼れるかな(汗…

TKSZ

Re:マップ作成について

#4

投稿記事 by TKSZ » 18年前

マップデータを作るには、上記のようなマップエディタを作るといいですよ。
いちいち、
int MapData01[300][300]={0,0,0,0,1,2,3,4,5…};

と作っていたら気が遠くなります。

以前、VB + C++ + DXライブラリでSTGを作ったときのマップエディタです。
何かの参考になれば幸いです。

ど素人

Re:マップ作成について

#5

投稿記事 by ど素人 » 18年前

返信ありがとうございます。

それと今更なんですが、
そのマップではフリーのチップの素材を使わせてもらおうと思ってるんですが、
チップを使ってマップを作るのはどうやったらいいのでしょうか?

Re:マップ作成について

#6

投稿記事 by » 18年前

map[/url][/url]{
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0, 0},
};

の様に配列で指定して、番号によって表示するものを決定すれば良いのではないかと思っていますが、
どうでしょうか?
もちろんこれをフィールドとして、その上に動作するものを表示すると考えます。
それよりも、MAPはBMPとかで読み込んだほうが確実に早くてらくだと思いますが・・・・。
TKSZさんの言うようにマップエディタを作るのが良いと思うのですが、僕自身がやろうとしていて成功していないので、なんともいえません。
なので、
マップはBMPなどを読み込む。
二次元は配列で行動可能場所を決定する。
その上に人を描画する。
マップエディタには番号をはじき出すのもあるかと思いますので、それを探して利用しても良いかもしれません。
参考になれば良いかと思い居ます。
間違っているところがあればご指摘お願いします。

ど素人

Re:マップ作成について

#7

投稿記事 by ど素人 » 18年前

数々の回答ありがとうございます。

頑張ってみますね。

閉鎖

“C言語何でも質問掲示板” へ戻る