こないだ書いたソースでは、以下の行で地面モデルを読み込んでいますね。
;地面初期化
E3DLoadMQOFileAsGround dir_exe + "\\sample\\easy3d\\Media\\ground.mqo", 10.0, GroundModel ; 地面モデルの読込
各要素について説明すると、
E3DLoadMQOFileAsGround ← MQOファイルを地面データとして読み込む命令
dir_exe + "\\sample\\easy3d\\Media\\ground.mqo" ← 実行ファイルのあるフォルダ内のsample\easy3d\Media\ground.mqoを指定
10.0 ← 10倍に拡大して読み込み
GroundModel ← 読み込んだ地面データのIDをGroundModelという名前の変数で受け取る
となります。
描画は以下のように、GroundModelを他のモデルと同じように描画しています。
;地面描画
E3DChkInView SCID, GroundModel ; 地面モデルが視野内にあるか判定
E3DRender SCID, GroundModel ; 地面モデルを描画
とはいえ、正直地面との当たり判定等を行わないのならばわざわざ地面データとして読み込む必要はありません。
もし地面以外の読込や描画がうまくいっているのならば、マップファイルも展示品と同じように読み込んでも良いかもしれません。
(一応大きすぎるモデルは地面データとして読み込むことが推奨されている)
それとももしかしたら、HSPでの相対パスについて知らないだけかもしれません。
ファイルを読み込む際、通常はソースと同じフォルダにファイルを用意すると思いますが、
ソースのあるフォルダはdir_curで取得できます。
同じフォルダ内の「Test.mqo」というファイルを指定するには以下のように指定します。
dir_cur + "\\Test.mqo"
(実はdir_curは「現在のフォルダ」であって、そのデフォルト値がソースのあるフォルダです)
サンプルで使っているdir_exeは「実行ファイルがあるフォルダ」です。
最終的に実行ファイル(exeファイル)にした場合はdir_curのデフォルト値と同じ値になりますが、
スクリプトエディタでデバッグしているときは、HSPをインストールしたフォルダが取得できます
(exeランタイムがHSPをインストールしたフォルダにあるため)
・スクリプトエディタを起動して以下を実行した場合
・以下のソースをデスクトップ等に保存してから実行した場合
・以下のソースを保存後、Ctrl+F9で実行ファイルを自動生成し、生成された実行ファイルを実行した場合
それぞれで結果が異なります。
mes dir_cur + "\\Test.mqp"
mes dir_exe + "\\Test.mqp"
ファイルの指定が間違っているとエラーが出るはずなので、エラーで強制終了しない場合は、
・mqoファイルのサイズが極端に小さい
・読み込んだは良いが描画していない
などの可能性が考えられます。