トップページ > 記事閲覧
ネット上で公開した画像が開かない
名前:独学初級者 日時: 2019/08/10 01:01

初めまして。 dxライブラリは前々から使わせて頂いてます。 統合環境のvisualstudioをつかってRPG風のゲームを 作りながら勉強をさせていただいてます。 いろいろ検索を掛けて似た質問をされている人を 見つけては試してみましたがどれもダメっぽいので 初めて質問します。 今の課題は ネット上に上げると画像が開かない問題なんです。 Googleドライブに上げてるURLを貼り付けます その方が説明もスムーズだと思いますので。 drive.google.com/file/d/1F3U60C2BqtaeV1A9lYlJcWfFM2pEg7zs/view?usp=sharing いろいろ検索を掛けてヒットした似たような質問をしている人が あったので試してみました。 修正をしてから試してもらってないので 解決しているのか分かりませんが見て頂けませんか? 理解したいところ 相対パスの理解からなのですが 住所で例えると00県△△市□□というパスがあったとして お尻の部分の□□だけを書きなおせばいい というのが相対パスと書いてあるのを見つけました。 そこで疑問に思っていることがあります。 一つ目が △△市□□から違っている場合は画像は開いてくれませんか? (00件だけが合ってるという意味です) 二つ目は どこから見た視点になりますか? △△市□□から見た△△市☆☆みたいに。 つまり画像を取りにいきたいファイルは誰で、 置いてある場所によって相対パスの書き方が変は勿論、離れていても開くのでしょうか? 三つ目 開くための条件などありますか?
メンテ

Page: 1 |

Re: ネット上で公開した画像が開かない ( No.1 )
名前:管理人 日時:2019/08/10 02:00

> 一つ目が > △△市□□から違っている場合は画像は開いてくれませんか? > (00件だけが合ってるという意味です) >  > 二つ目は > どこから見た視点になりますか? > △△市□□から見た△△市☆☆みたいに。 > つまり画像を取りにいきたいファイルは誰で、 > 置いてある場所によって相対パスの書き方が変は勿論、離れていても開くのでしょうか? >  > 三つ目 > 開くための条件などありますか? すみません、なんとお答えして良いのかわからないので、とりあえず正常に動作させるための答えを申し上げますと LoadDivGraph("/img/pipo-map001_at-umi.png", 5, 1, 5, 32, 32, umi); LoadDivGraph("/img/pipo-map001.png", 90, 8, 11, 32, 32, map001); LoadDivGraph("/img/pipo-charachip002a.png", 12, 3, 4, 32, 32, p002a); LoadDivGraph("/img/pipo-charachip017c.png", 12, 3, 4, 32, 32, p017c); LoadDivGraph("/img/pipo-map001_at-yama2.png", 5, 1, 5, 32, 32, yama); LoadDivGraph("/img/pipo-map001_at-mori.png", 5, 1, 5, 32, 32, 小yama); こちらのパス文字列の先頭の / を抜いて LoadDivGraph("img/pipo-map001_at-umi.png", 5, 1, 5, 32, 32, umi); LoadDivGraph("img/pipo-map001.png", 90, 8, 11, 32, 32, map001); LoadDivGraph("img/pipo-charachip002a.png", 12, 3, 4, 32, 32, p002a); LoadDivGraph("img/pipo-charachip017c.png", 12, 3, 4, 32, 32, p017c); LoadDivGraph("img/pipo-map001_at-yama2.png", 5, 1, 5, 32, 32, yama); LoadDivGraph("img/pipo-map001_at-mori.png", 5, 1, 5, 32, 32, 小yama); とすれば正常に画像が表示されますので、お試しください そして、相対パスの場合は『どこから見た視点になりますか?』の『視点は何処か』が重要となります、こちらは PC上での用語では『カレントディレクトリ( Current Directory )』と言います『現在のディレクトリ』という意味で、 これが『どこから見るか、の視点』となります( 『ディレクトリ』の意味は『フォルダ』とほぼ同義です、 因みに GetCurrentDirectory という API で現在のディレクトリを取得することができます char CurrentDir[ 1024 ]; GetCurrentDirectory( sizeof( CurrentDir ), CurrentDir ); // CurrentDir にカレントディレクトリのパスが代入される ) 『カレントディレクトリ』はプログラムを起動した際は実行ファイルがあるフォルダとなっていますので、 『Game.exe』があるフォルダに『img』フォルダがある場合は、 LoadDivGraph("img/pipo-map001_at-umi.png", 5, 1, 5, 32, 32, umi); と、『img』から記述することができます ( 因みに、VisualStudio でビルドした実行ファイルはプロジェクトフォルダの『Debug』フォルダや 『Release』フォルダの中に作成されますが、VisualStudio から起動する際は プロジェクトファイル( 拡張子 vcxproj のファイル )があるフォルダをカレントディレクトリとして実行されます ( プロジェクトのプロパティの『構成プロパティ』→『デバッグ』の中にある『作業ディレクトリ』という 設定項目を変更することで、起動時のカレントディレクトリを変更することもできます ) )
メンテ
Re: ネット上で公開した画像が開かない ( No.2 )
名前:独学初級者 日時:2019/08/12 14:53

遅くなりました、回答ありがとうございます。 何となく分かった気がします。 visualstudioを持ってる人用と持ってない人用に 分けてドライブに上げた方が親切ということでしょうか? こちらの方はすいませんが、 まだ時間が必要みたいです。 char CurrentDir[ 1024 ]; GetCurrentDirectory( sizeof( CurrentDir ), CurrentDir ); 検索を掛けまくって少しずつ 理解していきたいと思います。 ありがとうございました。
メンテ
Re: ネット上で公開した画像が開かない ( No.3 )
名前:管理人 日時:2019/08/12 23:07

> visualstudioを持ってる人用と持ってない人用に > 分けてドライブに上げた方が親切ということでしょうか? 『実行ファイルを直接実行した場合と VisualStudio から実行した場合ではカレントディレクトリが異なります』というだけのお話なので visualstudioを持ってる人用と持ってない人用に分けてドライブに上げる必要はありません
メンテ
Re: ネット上で公開した画像が開かない ( No.4 )
名前:独学初級者(解決済み) 日時:2019/08/14 00:38

先日、知り合いの人に画像が開くかの確認を してもらったところ無事に開くことに成功しました。 ありがとうございました。 「visualstudioを持ってる人用と持ってない人用に分けてドライブに上げる必要はありません」 了解しました。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存