今、DXライブラリでRPGを作っています。
そこで、町や村、ダンジョンを作るのに
エクセルでマップのようなものを描いて、
色により、どんな素材を置くかを判断させたいです。
(例:黒→../../../item/草地.png 青→../../../item/井戸.png)
どうすればいいでしょうか。よろしくお願いします。
DXライブラリとエクセルのコラボ
Re:DXライブラリとエクセルのコラボ
色だけ、ではなくて、
色については、xlsとtxt(タブ)に分けてするのが簡単な方法かと@@
1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1にして、数字に合わせて色付けするのが良いと思うんですがダメなんでしょうか。
色については、xlsとtxt(タブ)に分けてするのが簡単な方法かと@@
Re:DXライブラリとエクセルのコラボ
うーん、ちょっとよく分かりません。
もう少し詳しく教えてください。
どうプログラムを書けばいいか、とか。。。
再びよろしくお願いします。
もう少し詳しく教えてください。
どうプログラムを書けばいいか、とか。。。
再びよろしくお願いします。
Re:DXライブラリとエクセルのコラボ
ごめんなさい。求める部分が良く分からないので上で書いた通りに作りました。
参考程度でお願いします。
main.cpp ... ソースコード
map.wld ... map.xlsをタブtxt出力したもの
map.xls ... マップ編集用Excelファイル
参考程度でお願いします。
main.cpp ... ソースコード
map.wld ... map.xlsをタブtxt出力したもの
map.xls ... マップ編集用Excelファイル
Re:DXライブラリとエクセルのコラボ
あっ、ごめんなさい。後々に map.wld を手編集したので map.xls との中身が異なっています。
出力し直して実行すると、大きさが違う(足りない)ために 2 が返るので注意して下さい。
あと、fscanfの返り値の判定が間違っていました。
20行目の、
追:
8行目の、
ミスありすぎで怖くなってきました。本当に参考程度にして下さいね。@@;
出力し直して実行すると、大きさが違う(足りない)ために 2 が返るので注意して下さい。
あと、fscanfの返り値の判定が間違っていました。
20行目の、
if ( fscanf(fp, "%d", &map_data[loop_y][loop_x]) == 0 ) {を、
if ( fscanf(fp, "%d", &map_data[loop_y][loop_x]) == EOF ) {に直して下さい。
追:
8行目の、
static unsigned int map_data[MAP_WIDTH][MAP_HEIGHT];を、
static unsigned int map_data[MAP_HEIGHT][MAP_WIDTH];に。
ミスありすぎで怖くなってきました。本当に参考程度にして下さいね。@@;
Re:DXライブラリとエクセルのコラボ
エクセルでの色のついたセルをtxt(タブ)で出力すると、セル内の値(と位置)のみ出力され、
色情報が失われてしまうのでこの方法では無理ですが、
Ruby 等のOLE機能を使ってエクセルを直接読み込み、色を取得する方法はあります。
(そのサンプルがほとんど無いのがつらいところではありますが)
色情報が失われてしまうのでこの方法では無理ですが、
Ruby 等のOLE機能を使ってエクセルを直接読み込み、色を取得する方法はあります。
(そのサンプルがほとんど無いのがつらいところではありますが)
Re:DXライブラリとエクセルのコラボ
朽木さんへ.....
ビルドしてみたのですが、
プロジェクト : error PRJ0002 : エラーの結果 -1 が '' より返されました。
とエラーが出てしまいます。
もちろん、修正していただいた箇所は直しました。
もし、どうしても実行不可能というのなら、実行結果だけでも教えて欲しいのですが。
お手数をおかけいたします。
ビルドしてみたのですが、
プロジェクト : error PRJ0002 : エラーの結果 -1 が '' より返されました。
とエラーが出てしまいます。
もちろん、修正していただいた箇所は直しました。
もし、どうしても実行不可能というのなら、実行結果だけでも教えて欲しいのですが。
お手数をおかけいたします。
Re:DXライブラリとエクセルのコラボ
ごめんなさい。原因が良く分かりませんでした。
実行結果: LoadMapData("./map.wld", 5, 5) ... return 0 map_data = { {1, 1, 1, 1, 1}, {0, 0, 0, 0, 1}, {1, 0, 0, 0, 1}, {1, 0, 0, 0, 1}, {1, 1, 1, 1, 1} } e此方では空プロジェクトで作っているんですが、もしそれでもダメならexe入りを…