LoadGraph関数などの引数がよく分かりません。

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

LoadGraph関数などの引数がよく分かりません。

#1

投稿記事 by HI魔人 » 7年前

LoadGraphやDrawGlaph関数のようにファイルの名前を引数として渡す関数がありますが、GameProgファイルに入っているものしか表示できないのでしょうか?それ以外でもできるのならどうやってやるのか教えてください。

アバター
みけCAT
記事: 6247
登録日時: 9年前
住所: 千葉県
連絡を取る:

Re: LoadGraph関数などの引数がよく分かりません。

#2

投稿記事 by みけCAT » 7年前

普通に開きたいファイルのファイル名を絶対パスもしくは相対パスで指定します。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: LoadGraph関数などの引数がよく分かりません。

#3

投稿記事 by Dixq (管理人) » 7年前

絶対パスを指定して、例えばこのように書けば
LoadGraph("C:\Users\Public\Pictures\Sample Pictures\チューリップ.jpg");
どこにあるファイルも使えますが、まず普通やってはいけない処理でしょう。

HI魔人

Re: LoadGraph関数などの引数がよく分かりません。

#4

投稿記事 by HI魔人 » 7年前

MMDを使ったゲームを作りたいと思っていたもので、いちいち移動させるのは面倒だなということで質問させていただきました。
と、いうことは"GameProg/画像"の中に入れておかないと処理が重くなる、ということですかね?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: LoadGraph関数などの引数がよく分かりません。

#5

投稿記事 by softya(ソフト屋) » 7年前

何処においても構いませんがゲームとして配布するためには絶対パスで記述するとパソコンごとに違う可能性があるので配布に困ると言うことです。
なので、普通はゲームプログラムのある場所からの相対パスを使います。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
てんむすキツネ
記事: 88
登録日時: 8年前
住所: 岡山

Re: LoadGraph関数などの引数がよく分かりません。

#6

投稿記事 by てんむすキツネ » 7年前

処理速度は関係ないです。
パスは「特定のフォルダからの位置」です。

絶対パスは、ユーザーファイルからのパス
相対パスはそのファイルからのパス
です。

作っているものを公開しないのであれば
自由でも構いませんが
絶対パスは、どこのフォルダに置くかで
変更する必要がでてきます。
たとえば
ユーザーファイル内のpublicフォルダの中にサンプルプロジェクトがあり、
サンプルプロジェクの中の画像フォルダにはいっているチューリップを読み込むとします。
C:\Users\Public\project_Sample\画像\チューリップ.jpg"

その場合
ユーザー→public→project_Sample→画像→チューリップ.jpg
の順にフォルダを開いています。

しかし、project_Sampleの位置を変えたらどうなるでしょうか。
publicの中にdataというフォルダを作り
その中にproject_Sampleを入れたとします。

しかしパスがそのままだと
ユーザー→public→ 「project_Sample(*publicの中にはないから見つからない!*)」 →画像→チューリップ.jpg
publicの中自体にはproject_Sampleはありません。dataの中にあるからです。

つまり何が言いたいかというと
絶対パスだとプロジェクトの位置によって全パスを変更する必要があるわけです。

ダウンロードしたユーザーが必ず
特定の場所にダウンロードするとは限りません。
なので、画像のロードがうまくできないゲームになってしまいます。

相対パスは上の奴から
C:\Users\Public\project_Sample\
までのパスを入力しないでいいパスです。
つまりユーザーファイルでなく、プロジェクトファイルからフォルダを開いて行きます。
プロジェクトファイル内は、遊ぶ人はまずいじりませんよね?
つまり、パスが変更されることはないのです。

あえて長文で書きましたが逆にわかりにくいかなぁ・・・・

面倒くさいからMMDファイルの位置を変えたくないという意味でしょうか?
おそらく、絶対パスで処理をするほうが
面倒くさいと思います。
MLP!MLP!

HI魔人

Re: LoadGraph関数などの引数がよく分かりません。

#7

投稿記事 by HI魔人 » 7年前

いえいえ、とてもよく分かりました。
MMDのモーション全部作っちゃってからGameProgの中に入れときます。

閉鎖

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