WEBGLでは、各種の画像ファイルや音声ファイルはすべて「data」フォルダに入れておくことでpackされることになっています。
※HGIMG4を使用しない場合の話です。
しかし、ファイルの指定時に「data/~ファイル名.png」と指定すると、WINDOWSの開発環境では動作しますが、WEBGL実行時に「ファイルが見つかりません」エラーが発生します。
これは、WEBGL実行時にはサブフォルダの指定等が無視されるためであり、回避するためには単純にファイル名を指定しておく必要があります。
具体的な方法策として
A案:ファイル名だけを指定するようにスクリプトを記載し、「data」フォルダにpackするファイルを、開発フォルダにも置いておく
⇒単純ですが、デメリットとしてファイルが二重にあることになります。
B案:スクリプト内で、getreq命令によって作業フォルダを切り替える
⇒すっきりしますが、ひと手間必要です。実行環境がWINDOWSならカレントフォルダを「/data/」フォルダとします。個人的にはB案がお勧めです。(下記参照)
;===プラットフォーム確認===
#include "hsp3dish.as"
getreq os@,SYSREQ_PLATFORM
/* マクロ名 値 内容
-------------------------------------------
PLATFORM_WINDOWS 0 Windows版
PLATFORM_IOS 1 iOS版
PLATFORM_ANDROID 2 android版
PLATFORM_WEBGL 3 hsp3dish.js(WebGL/JavaScript)版
PLATFORM_LINUX 4 Linux版
PLATFORM_RASPBIAN 5 Raspberry Pi(raspbian)版
*/
repeat 1
if os@==PLATFORM_WINDOWS{
OS_NAME@="WINDOWS"
chdir dir_cur+"/data/"
break
}
if os@==PLATFORM_WEBGL {
OS_NAME@="WEBGL"
break
}
dialog "OSが違います"
end
loop
dialog dir_cur;カレントディレクトリの確認