オブジェクト0が他オブジェクトに接した時の移動とサウンドを変更します。

右プログラミング画面で緑矢印の行を書き換えます。

「foreach hsid」〜「loop」の間を、hsid配列の要素があるだけ繰り返します。

「if ( hsid(cnt) == null || hsid(0) == hsid(cnt) ) : continue」で、hsid配列の要素がない場合と自分自身の場合は、foreach〜loop間のループをやり直します。

「E3DChkConflict2 p1,p2,p3,p4,p5,p6」で、2つの形状データの指定したパーツ同士が、衝突しているかどうを判定します。
[p1]オブジェクト0である形状データを識別するid
[p2]モデル中のパーツの番号
[p3]形状データを識別するid
[p4]p3のモデル中のパーツの番号
[p5]hsid1, hsid2で識別される形状同士が、衝突している場合は1が、衝突していない場合は0がセットされる。
[p6]hsid1が視野外にある場合は、inviewflagに1を、hsid2が視野外にある場合は、inviewflagに2を、両方とも視野外の場合は、inviewflagに3を、両方とも視野内の場合は、inviewflagに0を代入します。

もしp5が0でない、つまり重なっている場合。

「mmload "filename",p1,p2」で、サウンドファイル読み込み。
[p1]割り当てるバッファの番号
[p2]割り当てるモード。

「mmplay p1」で、サウンド再生します。
[p1]再生するバッファの番号

「E3DSetPos hsid(0),x,y,z」で、形状データを(x,y,z)に移動します。

変更できたら実行ボタンを押してください。

ホームへ戻ります。