下記のコードを実行してスペースキーを押すと「外部DLLの呼び出しに失敗~」のエラーがでてしまいます。
E3DChkConfBillboardの部分を削除すると弾は普通に飛んで寿命の数値通り消滅するのですが…。
当たり判定部分の記述をif result = 1 : end にするとスペースキーを押して即終了となるので
どうやら弾丸を発射した時点で地面に接触と判定されてしまっているようです。
アドバイス頂けましたら幸いです。
//弾丸設定 #define tama_max 100 //弾数 #define tama_life 80 //弾の寿命 dim tama, tama_max dim count, tama_max ddim bx, tama_max : ddim by, tama_max : ddim bz, tama_max arrayleng = 100 dim confbbid, arrayleng *main gosub *shot gosub *move_shot *shot if key & 16{ repeat tama_max if tama(cnt) = 0{ tama(cnt) = 1 count(cnt) = 0 break } loop gosub *make_shot } return //弾丸作成 *make_shot repeat tama_max if tama(cnt) = 1 { E3DCreateBillboard mediadir2, px*2, py*2, 1,tama(cnt),1,1 E3DGetPos hsid1, saveposx1, saveposy1, saveposz1 E3DGetDirQ2 hsid1, qid E3DMultQVec qid, 0, 0, -1000, bx(cnt), by(cnt),bz(cnt) E3DSetBillboardPos tama(cnt), saveposx1+bx(cnt), saveposy1+by(cnt)+600, saveposz1+bz(cnt) break } loop gosub *move_shot return //弾丸移動 *move_shot repeat tama_max if tama(cnt) ! 0 { E3DGetBillboardInfo tama(cnt), x, y, z, mediadir2, transparent, w, h E3DSetBillboardpos tama(cnt), x+bx(cnt), y+by(cnt), z+bz(cnt) count(cnt)++ E3DChkConfBillboard hsid0, 1, result, confbbid, arrayleng, confnum if result = 1 : E3DDestroyBillboard confbbid if count(cnt) = tama_life { E3DDestroyBillboard tama(cnt) tama(cnt) = 0 count(cnt) = 0 break } } loop return