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)を取得します。
同様にposXが5000を超えた時や、posYが-5000より小さくなったり、posYが5000より大きくなった場合もよく似ているのでわかりますね?
「E3DSetPos hsid(cnt),x,y,z」で変数配列「hsid(cnt)」の位置を(x,y,z)座標にします。