HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0804
あいジョエラー386未解決


あいジョ

リンク

2011/8/4(Thu) 16:59:10|NO.40388

最近、HSPを知り使い始めました。
「メタセコイアで制作した物」を表示しようと頑張っているのですが上手くいきません。
調べてDLLを同じファイルに入れてみたのですが、解決できません。
どなたか、解決策を教えてください。よろしくお願いします。
#include "e3dhsp3.as"
screen 0,640,480,0 E3DInit 0,-1,0,16,0,scid1 pathbuf=dir_cur + "\\yuka1.mqo" ; E3DLoadMQOFileAsGround pathbuf,1.0,hsid1,0; E3DChkInView scid1,hsid1 ; E3DSetPosOnGround hsid1,0,0.0,0.0,0 ; *main goto *main



この記事に返信する


Cookies

リンク

2011/8/4(Thu) 18:43:47|NO.40390

>調べてDLLを同じファイルに入れてみたのですが、解決できません。
"同じファイル"とはなんでしょう。
"同じフォルダ(ディレクトリ)"の打ち間違いならいいのですけど。

もしもパックファイルとして入れたということだったら、それではうまくいかないようです。
どっかで読んだ情報だと、DLLは特別なファイル故、パックファイルでは動かず、
ちゃんと同じディレクトリに入れなければならないようです。

入ってるんだったらごめんなさい。



skyblue

リンク

2011/8/4(Thu) 19:12:25|NO.40394

>同じファイルに入れてみたのですが、解決できません。
スクリプトエディタからの場合はhsped3&hsp3と同じディレクトリに置いて下さい。



GENKI

リンク

2011/8/4(Thu) 19:37:22|NO.40395

Easy3Dではエラー38は原因が分かりにくいエラーに分類されます。
資料:http://easy3d.wikiwiki.jp/?EasyFAQ%2F2
一つずつ検証していくといいと思います。

まず実行環境から。
スクリプトからの直接実行の場合は、dllファイル等の移動は必要ありません。そのまま実行できるはずです。サンプルスクリプトで動作確認してみてください。
exeファイルを作成した場合は、作成したexeファイルと同じフォルダに、e3dhsp3.dllとE3D_EXTをHSP3のインストールフォルダからコピーして置いてください。
サンプルを使ってみて問題がなければインストールやdllファイルの扱いをクリアしたと考えていいでしょう。

次に、エラーが発生している行を確認してください。
と、その前に。E3DBeginSceneなど必要な命令が多数抜け落ちています。
サンプルを参考に作業を進めることをお勧めします。

-----
HSPはCなどの改行が区切りの意味を持たない言語と異なり、1行単位で記述します。
そのため行の最後に「;(セミコロン)」をつける必要はありません。
また最後のWAITなしの無限ループなどエラーは出ませんが問題が発生する箇所が見受けられます。
3Dを始める前にまずはHSPに十分慣れることをお勧めします。遠回りに思われるかもしれませんが、それが最短コースです。



れみはる

リンク

2011/8/4(Thu) 19:52:20|NO.40396

エラーが出なくなると次はCPU使用率100%になるよ



takaya

リンク

2011/8/5(Fri) 10:16:58|NO.40399

!!!

*main

goto *main

!!!

これだと、とんでもない高速ループが発生していまい、
Windowsが固まってしまいますよ。

HSPでは長い間ループするときには
必ず、wait か await を挟む決まりがあります。

なので、GENKIさんと同じ意見で
遠回りかもしれないけど、HSP の基本からいかないと・・・

2Dゲーム → 3Dゲーム

あ、でも、本があるなら別かもしれない・・・



あいジョ

リンク

2011/8/5(Fri) 16:13:56|NO.40401

たくさんの解答ありがとうございます。
その後、どうにか表示できるまでになりました。(画面端に表示されました)

#include "e3dhsp3.as" screen 0,640,480,0 E3DInit 0,-1,0,16,0,scid1 pathbuf.0=dir_cur + "\\yuka1.mqo" ; E3DLoadMQOFileAsGround pathbuf.0,1.0,hsid1,0 E3DSetPos hsid1 ,0.0,0.0,0.0 E3DSetBeforePos hsid1 *main E3DBeginScene scid1 E3DChkInView scid1,hsid1 E3DRender scid1,hsid1,0,0,0 E3DRender scid1,hsid1,1,0,0,0,0,1 E3DEndScene E3DPresent scid1 await 0 goto *main
表示できたまでは、良かったのですが真っ青な画面でした。
E3DSetPosOnGround命令を使うとエラー38が出てきてしまいます。
なぜ、この命令だとエラーが出てしまうのですか?

*******
HSP入門書を購入しました。(車を走らせたり、ゴーレムを倒していくゲームが掲載されてました。)



ONION software Copyright 1997-2023(c) All rights reserved.