- 1 名前:名前は開発中のものです。 [2012/01/28(土) 17:15:55.46 ID:Khp0Nc8u]
- 隠蔽がきつい
情報あつめましょう
- 28 名前:名前は開発中のものです。 [2012/02/05(日) 01:37:24.30 ID: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 名前:名前は開発中のものです。 mailto:sage [2012/02/05(日) 09:21:10.12 ID:TeVrdhcu]
- >>28
ありがとうございます。 なるほど、setdir tama,-sin(y),,-cos(y) でできました。 複数の弾を発射させるにはオブジェクト検索をすればいいわけですね。 これは配列を使ってもできるかなと思ったんですが… tama.0〜tama.3 それと文字列結合もどうかなと "tama"+0〜"tama"+3 hgimg3は初心者ですがHSP歴は長いです。
- 30 名前:名前は開発中のものです。 [2012/02/05(日) 18:17:31.60 ID: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 名前:名前は開発中のものです。 mailto:sage [2012/02/06(月) 16:42:53.64 ID:0zvPTdFG]
- ありがとうございます。
そもそも配列使わずにID変える方法ってあるんでしょうか? 4連射なら4つのIDが必要になるわけですが サンプルスクリプトのsample\elm2d\sample4.hsp ですが なぜ i だけで複数の弾表示ができるのか疑問に思っています。
- 32 名前:名前は開発中のものです。 [2012/02/06(月) 22:03:47.82 ID: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 名前:名前は開発中のものです。 mailto:sage [2012/02/07(火) 10:19:39.05 ID:EJ8Iltcw]
- う〜ん、すいません当方ちょっと理解できてないです。
このサンプルだと弾の発射の度に i にモデルIDが追加されていくわけですが 上書きされてるのになんで弾が消えないのかなと疑問なんです。
- 34 名前:名前は開発中のものです。 [2012/02/07(火) 21:04:37.19 ID:gGNZz1Vq]
- *myshot
if (myfcnt&15)=0 { /* regobj i,pchr(myfire),OBJ_MOVE|OBJ_BORDER ←ここで毎回現在未使用のIDを収得してる iを毎回使い捨てで使ってるだけ >上書きされてるのになんで弾が消えないのかなと疑問なんです。 何でそれが疑問なのかこっちが聞きたい 毎回違うID使われてるの分かってて何で弾が消えると思うの? 同じIDを使いまわしてるなら飛んでた弾が再度発射されて消えたように見えるなら分かるが・・・
- 35 名前:名前は開発中のものです。 mailto:sage [2012/02/07(火) 21:45:11.11 ID:EJ8Iltcw]
- どうもありがとうごさいます。
このサンプルのとおりやってみたんですがうまくできるんですよね。(笑) ちょっとわかりにくいですが何とかのみこめそうです。
- 36 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 07:10:47.93 ID:r44oKlbP]
- ライトオブジェクトってdelobj命令で削除出来ないみたいなんですけど
削除するにはどうしたらいいのでしょうか?
- 37 名前:名前は開発中のものです。 mailto:sage [2012/04/24(火) 09:00:22.18 ID:r44oKlbP]
- >>36ですが勘違いでした。
ゲーム内の初期化の為に、全てのオブジェクトを消すのが目的だったのですが 基本ライトとカメラを削除してしまうと、もう設定を出来なくなってしまうみたいです。
|

|