12/02/05 01:37:24.30 shlkc11t
adddir tama,-sin(y),,-cos(y)
を
setdir tama,-sin(y),,-cos(y)
にすれば良いって言ってるのに……
adddirとsetdirは同じ所に設定する命令
加算するか上書きするかの違い
だから加速させたいとかが無ければ上書きするsetdirで良い
>tamaのIDを順に変える方法ってありますか?
連続でregobjを実行して最初と最後のIDを保存
これが使えるのは一度もobjを削除してない時にしかできない
IDが連続して無くても出来るように考えた方が良い
regobj var,ModelID,mode,EventID オブジェクトの登録
setcoli id,mygroup,enegroup オブジェクトのコリジョン設定
findobj exmode,group オブジェクト検索
nextobj val 次のオブジェクト検索
この辺を使う
setcoliのグループ値(mygroup)は検索対象グループ値になる
HSP自体の初心者?
それなら標準命令だけで簡単な2Dシューティグを作ってみた方が良い
29:名前は開発中のものです。
12/02/05 09:21:10.12 TeVrdhcu
>>28
ありがとうございます。
なるほど、setdir tama,-sin(y),,-cos(y) でできました。
複数の弾を発射させるにはオブジェクト検索をすればいいわけですね。
これは配列を使ってもできるかなと思ったんですが…
tama.0~tama.3
それと文字列結合もどうかなと
"tama"+0~"tama"+3
hgimg3は初心者ですがHSP歴は長いです。
30:名前は開発中のものです。
12/02/05 18:17:31.60 shlkc11t
>>29
HSP自体は分かるなら配列使っても良いと思うよ
弾最大使用数=4
dim tama,弾最大使用数
if 弾使用中の数 < 弾最大使用数 {
regobj tama(弾使用中の数),ModelID,mode,EventID
getpos HGOBJ_CAMERA,cx,cy,cz
setpos tama(弾使用中の数),cx,cy+10,cz
・
・
・
弾使用中の数+1
}
使用中の弾の様態確認は
repeat 弾使用中の数
getpos tama(cnt),bx,by,bz
loop
配列使うとobj削除した時とかの配列管理も必要になるから面倒な気がするが・・・
31:名前は開発中のものです。
12/02/06 16:42:53.64 0zvPTdFG
ありがとうございます。
そもそも配列使わずにID変える方法ってあるんでしょうか?
4連射なら4つのIDが必要になるわけですが
サンプルスクリプトのsample\elm2d\sample4.hsp ですが
なぜ i だけで複数の弾表示ができるのか疑問に思っています。
32:名前は開発中のものです。
12/02/06 22:03:47.82 QURb+gp8
>>31
だからそれを>>28 で書いたんだが・・・
そしたらあんたが配列使ってできないかって聞いたから>>30 を書いた
>なぜ i だけで複数の弾表示ができるのか疑問に思っています。
>>28 でこの辺を使うって書いた命令使われてるだろ
; プレイヤーのミサイル当たり処理
;
findobj 0,COL_SHOT
repeat : nextobj i:if i<0 : break
getcoli res,i,20.0
*myshot
if (myfcnt&15)=0 {
regobj i,pchr(myfire),OBJ_MOVE|OBJ_BORDER
setpos i,myx,myy,myz
setdir i,0,-8,0
setcoli i,COL_SHOT,COL_ENEMY
33:名前は開発中のものです。
12/02/07 10:19:39.05 EJ8Iltcw
う~ん、すいません当方ちょっと理解できてないです。
このサンプルだと弾の発射の度に i にモデルIDが追加されていくわけですが
上書きされてるのになんで弾が消えないのかなと疑問なんです。
34:名前は開発中のものです。
12/02/07 21:04:37.19 gGNZz1Vq
*myshot
if (myfcnt&15)=0 {
/*
regobj i,pchr(myfire),OBJ_MOVE|OBJ_BORDER ←ここで毎回現在未使用のIDを収得してる
iを毎回使い捨てで使ってるだけ
>上書きされてるのになんで弾が消えないのかなと疑問なんです。
何でそれが疑問なのかこっちが聞きたい
毎回違うID使われてるの分かってて何で弾が消えると思うの?
同じIDを使いまわしてるなら飛んでた弾が再度発射されて消えたように見えるなら分かるが・・・
35:名前は開発中のものです。
12/02/07 21:45:11.11 EJ8Iltcw
どうもありがとうごさいます。
このサンプルのとおりやってみたんですがうまくできるんですよね。(笑)
ちょっとわかりにくいですが何とかのみこめそうです。
36:名前は開発中のものです。
12/04/24 07:10:47.93 r44oKlbP
ライトオブジェクトってdelobj命令で削除出来ないみたいなんですけど
削除するにはどうしたらいいのでしょうか?
37:名前は開発中のものです。
12/04/24 09:00:22.18 r44oKlbP
>>36ですが勘違いでした。
ゲーム内の初期化の為に、全てのオブジェクトを消すのが目的だったのですが
基本ライトとカメラを削除してしまうと、もう設定を出来なくなってしまうみたいです。