crash

働き

2 つのスプライトが衝突しているかどうかを確認します。

文法

crash(<n1>,<n2>)
  • n1, n2 - 衝突しているかどうかを確認したいスプライト番号の式(0〜31)。

説明

2 つのスプライトが衝突していたときは、-1 がこの関数の結果の値になります。もし衝突していなかったときは、0 がこの関数の結果の値となります。

衝突しているかどうかの判定は、スプライトを構成する四角形(16 x 16 ドット、もしくは 32 x 32 ドット)が重なっているかどうか、でチェックします。

いずれかのスプライト、または両方のスプライトが非表示だったときは、この関数の結果の値は常に 0 となります。

サンプルプログラム

cls 3
sprite 0,0
sprite 1,4
do
  if not moving(0) and not moving(1) then
    direction 0,random(0,8)
    speed 0,20
    distance 0, 50
    direction 1,random(0,8)
    speed 1,20
    distance 1, 50
    move 0
    move 1
  end if
  if crash(0,1) then
    stay 0
    stay 1
    beep
    end
  end if
loop