# キャラクターが地面の移動できる範囲を追加します。

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

    	foreach hsid

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

    		E3DGetPos hsid(cnt),posX,posY,posZ

    		if ( posX < -5000 ) : posX = -4900 : E3DRotateY hsid(cnt), rnd(60)+150

    		if ( posX > 5000 ) : posX = 4900 : E3DRotateY hsid(cnt), rnd(60)+150

    		if ( posZ < -5000 ) : posZ = -4900 : E3DRotateY hsid(cnt), rnd(60)+150

    		if ( posZ > 5000 ) : posZ = 4900 : E3DRotateY hsid(cnt), rnd(60)+150

    		E3DSetPos hsid(cnt), posX, posY, posZ

    	loop

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

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

「E3DGetPos hsid(cnt),x,y,z」で変数「hsid(cnt)」のポジション(x,y,z)を取得します。

もし範囲外(-5000)にキャラが出そうになったら、posXを少し内側に戻しキャラを回転させます。

同様にposXが5000を超えた時や、posYが-5000より小さくなったり、posYが5000より大きくなった場合もよく似ているのでわかりますね？

「E3DSetPos hsid(cnt),x,y,z」で変数配列「hsid(cnt)」の位置を(x,y,z)座標にします。

### ホームへ戻ります。