キャラクター1とそれ以外のキャラクターの当たり判定を。

この左画面でクリックすれば以下の赤字のスクリプトがコピーされるので、右プログラミング画面で赤矢印の右側へ貼り付けてください。

	foreach hsid

		if ( hsid(cnt) == null || hsid(1) == hsid(cnt) ) : continue

		E3DChkConflict2 hsid(1), -1, hsid(cnt), -1, confflag, confstat

		if (confflag != 0){

			mmload dir_cur+"\\Catch.wav", 1, 2

			mmplay 1

			E3DPosForward hsid(1), -500

		}

	loop

実行ボタンを押してください。

「E3DChkConflict2 p1,p2,p3,p4,p5,p6」で、2つの形状データの指定したパーツ同士が、衝突しているかどうを判定します。
[p1]キャラクター1である形状データを識別するid
[p2]hsid1のモデル中のパーツの番号
[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]再生するバッファの番号

「E3DPosForward p1,p2」で、形状データを、現在向いている方向に、p2(マイナスの値)だけ後退する。

ホームへ戻ります。