どこを変更すれば…(助けてください)
どこを変更すれば…(助けてください)
森本といいます。似たような質問があったんですけど他人のスレに横槍入れて質問するのも嫌だったんで新しくスレ立てました。あの、ここで配布してる龍神録プログラミングの館を見てデフォ画像が東方のキャラ(?)になってるんでそれを辞めて違う画像に差し替えたいんですけど、どこをいじれば変りますか?一応、0.pngっていう名前だったので上書きしてやってあるのでフォルダ名は変わってないんですが、静止画なんで何枚も画像がないので上書きしただけでは動かなくて(エラーになって)悩んでるんですけど・・、●●.cppのどこをいじればきちんと動くでしょうか・・? お願いします。
Re:どこを変更すれば…(助けてください)
レスがついていなかったので、ちょっと見てみました。
0.pngを差し替えるだけで、キャラ画像の変更ができましたよ。
ちょっと、森本さんが行った作業で曖昧な箇所がありますので、確認します。
このくらい読み取ってほしいと思うところが有るかもしれませんが、この手の質問を行う場合は大変重要なところですので、意識していただければと思います。
1.開発環境が不明です。分かる範囲で結構ですので、こちらは明記するべきでしょう。
ちなみに私の場合はWindows XP + Visual Studio 2008 Express Edition で確認しています。
DirectX はどのバージョンを入れていたか
また、60章のコードをコンパイルしての確認となります。
2.「0.png を上書きして・・・」はどこの 0.png なのか正確には分かりかねます。
0.png はimgフォルダ以下のサブフォルダのいくつかに存在します。
質問から察するに「dat/img/char/0.png」を指していると思われますが、もしかしたら間違って、
敵キャラ「dat/img/enemy/0.png」を変えているのでは?等と思われる可能性もありますよ。
3.「動かない」では、状況が伝わりません。
一口に動かないといっても、いろいろなシチュエーションがあります。
「動かない」とは、たとえば次のような状況ではないでしょうか?
・コンパイルは無事行われ、RyuJin.exeファイルができている
・RyuJin.exeを実行するとウィンドウは表示されるものの、黒い背景で画像が一切表示されていない
・左上に「read error」と表示されて、右側には「xx.xx:最初」などの文字がいくつか表示されている
※ xx.xx は数字で絶えず変動しています。
4.「0.png」を差し替える前は正しく動いていますか?
「動かない」といった詳細が 3 に記載している通りの現象であるならば、画像を差し替える前の
プログラムをコンパイルしても、同様のエラーになるのではないでしょうか?
その場合、これはファイルの配置に問題かと思われます。
次のように配置することで正しく動作しませんか?
project/
├60章/RyuJin.exe
└dat/
├ (cvs, img, font 等のフォルダ)
:
少し説明しますと、load.cpp にファイルパスの指定がいくつかありますよね?
たとえば8行目の "../dat/img/board/10.png" と記載しているところは「『RyuJin.exe から見て』、
一つ上のフォルダの、datフォルダの、imgフォルダの、boardフォルダの、10.png ファイル」
という意味になります(厳密にいうと『』の部分は正しくないのですが、はじめはその解釈で
よろしいかと思います)。そのため、ファイルの配置がおかしいと、各種データファイルが読み込め
ないため、至る所で問題が発生して正しく動作しません。
※このホームページは先ほど行き着いたばかりで、まだあまり深くは参照できていませんので、
外していたらゴメンササイ。
また、これ以上の回答を行えるかどうかは分かりませんので、あしからず。
0.pngを差し替えるだけで、キャラ画像の変更ができましたよ。
ちょっと、森本さんが行った作業で曖昧な箇所がありますので、確認します。
このくらい読み取ってほしいと思うところが有るかもしれませんが、この手の質問を行う場合は大変重要なところですので、意識していただければと思います。
1.開発環境が不明です。分かる範囲で結構ですので、こちらは明記するべきでしょう。
ちなみに私の場合はWindows XP + Visual Studio 2008 Express Edition で確認しています。
DirectX はどのバージョンを入れていたか
また、60章のコードをコンパイルしての確認となります。
2.「0.png を上書きして・・・」はどこの 0.png なのか正確には分かりかねます。
0.png はimgフォルダ以下のサブフォルダのいくつかに存在します。
質問から察するに「dat/img/char/0.png」を指していると思われますが、もしかしたら間違って、
敵キャラ「dat/img/enemy/0.png」を変えているのでは?等と思われる可能性もありますよ。
3.「動かない」では、状況が伝わりません。
一口に動かないといっても、いろいろなシチュエーションがあります。
「動かない」とは、たとえば次のような状況ではないでしょうか?
・コンパイルは無事行われ、RyuJin.exeファイルができている
・RyuJin.exeを実行するとウィンドウは表示されるものの、黒い背景で画像が一切表示されていない
・左上に「read error」と表示されて、右側には「xx.xx:最初」などの文字がいくつか表示されている
※ xx.xx は数字で絶えず変動しています。
4.「0.png」を差し替える前は正しく動いていますか?
「動かない」といった詳細が 3 に記載している通りの現象であるならば、画像を差し替える前の
プログラムをコンパイルしても、同様のエラーになるのではないでしょうか?
その場合、これはファイルの配置に問題かと思われます。
次のように配置することで正しく動作しませんか?
project/
├60章/RyuJin.exe
└dat/
├ (cvs, img, font 等のフォルダ)
:
少し説明しますと、load.cpp にファイルパスの指定がいくつかありますよね?
たとえば8行目の "../dat/img/board/10.png" と記載しているところは「『RyuJin.exe から見て』、
一つ上のフォルダの、datフォルダの、imgフォルダの、boardフォルダの、10.png ファイル」
という意味になります(厳密にいうと『』の部分は正しくないのですが、はじめはその解釈で
よろしいかと思います)。そのため、ファイルの配置がおかしいと、各種データファイルが読み込め
ないため、至る所で問題が発生して正しく動作しません。
※このホームページは先ほど行き着いたばかりで、まだあまり深くは参照できていませんので、
外していたらゴメンササイ。
また、これ以上の回答を行えるかどうかは分かりませんので、あしからず。
Re:どこを変更すれば…(助けてください)
> 森本さん
こんにちは。
wind.tさんが的確にご回答下さっていますが、補足しますね。
画像を差し替えただけでエラーになることは基本的に無いと思います。
キャラクタの画像が無ければエラーを吐くようなプログラムはいれていないので、他に原因があると思います。
0.pngはご自分で用意されたものですか?もしよければここに投稿して頂ければ回答がしやすいと思います。
後、キャラクタは東方のキャラではありません。
詳しくはこちらをご覧ください。
http://dixq.net/sr/
こんにちは。
wind.tさんが的確にご回答下さっていますが、補足しますね。
画像を差し替えただけでエラーになることは基本的に無いと思います。
キャラクタの画像が無ければエラーを吐くようなプログラムはいれていないので、他に原因があると思います。
0.pngはご自分で用意されたものですか?もしよければここに投稿して頂ければ回答がしやすいと思います。
後、キャラクタは東方のキャラではありません。
詳しくはこちらをご覧ください。
http://dixq.net/sr/
Re:どこを変更すれば…(助けてください)
■wind.tさん
こういう質問を書き込むのも初めてだったので色々と描き忘れていたみたいで分かりづらくてすみませんでした!開発環境は、同じくXPとVisual Studio 2008 Express Edition を使っています。DirectX はたぶん最近DLしたばかりなので新しいものだと思います。
2.0.pngはdatフォルダのCharフォルダの中の自キャラ画像になります。
もう一度確認してみたんですがCharの方を変更して間違いありませんんでした。
3.動かないのは、たぶん2番の
「・RyuJin.exeを実行するとウィンドウは表示されるものの、黒い背景で画像が一切表示されていない」
これかな、と思います。画像の枚数が変わってくるので「~.png のあとの , 2 , 2 , 14 ,」
↑数字の部分だけ変更してアニメーションつけて動くようにしてみたんですが駄目でした・・。
画像が一切表示されなかったです; (画像添付してみました・・・)
4.凄く分かりやすいです、ありがとうございます!
ただ、わかりにくくなるのが嫌だったので、同じ場所(datフォルダのimgのCharフォルダ)に
保存しているので場所も間違っていないと思うのです・・。
画像を変えたい場合って、load.cppのvoid load()の
LoadDivGraph( "../dat/img/char/0.png" , 4 , 1 , 2 , 32 , 32 ,img_ch[0]) ;
この関数を変えるだけで大丈夫ですよね・・・。
こういう質問を書き込むのも初めてだったので色々と描き忘れていたみたいで分かりづらくてすみませんでした!開発環境は、同じくXPとVisual Studio 2008 Express Edition を使っています。DirectX はたぶん最近DLしたばかりなので新しいものだと思います。
2.0.pngはdatフォルダのCharフォルダの中の自キャラ画像になります。
もう一度確認してみたんですがCharの方を変更して間違いありませんんでした。
3.動かないのは、たぶん2番の
「・RyuJin.exeを実行するとウィンドウは表示されるものの、黒い背景で画像が一切表示されていない」
これかな、と思います。画像の枚数が変わってくるので「~.png のあとの , 2 , 2 , 14 ,」
↑数字の部分だけ変更してアニメーションつけて動くようにしてみたんですが駄目でした・・。
画像が一切表示されなかったです; (画像添付してみました・・・)
4.凄く分かりやすいです、ありがとうございます!
ただ、わかりにくくなるのが嫌だったので、同じ場所(datフォルダのimgのCharフォルダ)に
保存しているので場所も間違っていないと思うのです・・。
画像を変えたい場合って、load.cppのvoid load()の
LoadDivGraph( "../dat/img/char/0.png" , 4 , 1 , 2 , 32 , 32 ,img_ch[0]) ;
この関数を変えるだけで大丈夫ですよね・・・。
Re:どこを変更すれば…(助けてください)
勘違いならごめんなさい
img_ch[0]
これとか?
[0]が余分とか…2次元配列ならすいません
それと
1*2=4
になってないですか?
======
間違っていた時の言いわけも書いときます。
まだ使ったことないので違ったらすいません。
LoadDirGraohは1つ目に画像ファイル、2つ目に全部の画像数、3つ目4つ目で縦横の分割数、5、6で大きさ、最後に入れる場所だと思います。
2つ目の数は3つ目*4つ目になるはずなのでその辺は間違ってるはず…
描写されない理由なのかは…わかりませんけど…
img_ch[0]
これとか?
[0]が余分とか…2次元配列ならすいません
それと
1*2=4
になってないですか?
======
間違っていた時の言いわけも書いときます。
まだ使ったことないので違ったらすいません。
LoadDirGraohは1つ目に画像ファイル、2つ目に全部の画像数、3つ目4つ目で縦横の分割数、5、6で大きさ、最後に入れる場所だと思います。
2つ目の数は3つ目*4つ目になるはずなのでその辺は間違ってるはず…
描写されない理由なのかは…わかりませんけど…

Re:どこを変更すれば…(助けてください)
添付の画像と返答を見る限り、どうも私の認識とずれていると思います(私は60章を元にしていますので、背景が出ていなが、敵キャラは表示されているという点がよく分かりません)。
1.元にしたソースファイルは何章のものですか?
2.「龍神録プログラミングの館」は何章まで読まれましたか?
3.差し替えたい画像はの枚数はいくつですか?(たとえば、横4枚、縦3枚、一枚あたり73×73ピクセルのように答えてください)
→私への返信には「アニメーション」と記載されていますが、管理人さんへの返信にある添付画像は、1枚の画像となっていますので、混乱しています。
これらの認識をあわせた方が良さそうですね。
>画像を変えたい場合って、load.cppのvoid load()の
> LoadDivGraph( "../dat/img/char/0.png" , 4 , 1 , 2 , 32 , 32 ,img_ch[0]) ;
>この関数を変えるだけで大丈夫ですよね・・・。
これについては「おおむね」間違い有りません。
(60章の完成形を見る限り画像の枚数が変わると他にも変更する箇所がありますが、他の章は見ていませんのであくまで「おおむね」としています)。
私の説明も下手ですので、回り道になるようでしたらすみません。
1.元にしたソースファイルは何章のものですか?
2.「龍神録プログラミングの館」は何章まで読まれましたか?
3.差し替えたい画像はの枚数はいくつですか?(たとえば、横4枚、縦3枚、一枚あたり73×73ピクセルのように答えてください)
→私への返信には「アニメーション」と記載されていますが、管理人さんへの返信にある添付画像は、1枚の画像となっていますので、混乱しています。
これらの認識をあわせた方が良さそうですね。
>画像を変えたい場合って、load.cppのvoid load()の
> LoadDivGraph( "../dat/img/char/0.png" , 4 , 1 , 2 , 32 , 32 ,img_ch[0]) ;
>この関数を変えるだけで大丈夫ですよね・・・。
これについては「おおむね」間違い有りません。
(60章の完成形を見る限り画像の枚数が変わると他にも変更する箇所がありますが、他の章は見ていませんのであくまで「おおむね」としています)。
私の説明も下手ですので、回り道になるようでしたらすみません。