命令/関数辞書
- 概要
- abs
- acos
- asc
- asin
- assert
- atan
- atan2
- background
- beep
- bgmadd
- bgmplay
- bgmstate
- bgmstop
- bind$
- binding
- box
- call
- chr$
- circle
- cls
- connect$
- connected@
- connecting
- cos
- crash
- data
- datetime@
- def animation
- def background
- def pic
- direction
- disconnect
- distance
- do
- elemtype
- else
- else if
- end
- end function
- end if
- end procedure
- exit do
- exit for
- exit procedure
- fetch@
- for
- function
- hear$
- hide
- if
- include
- inkey$
- input
- left$
- len
- let
- line
- listen
- listening
- locate
- loop
- main
- mainvar
- mainvar$
- mainvar@
- max
- mid$
- min
- move
- moving
- next
- oval
- paint
- pause
- pi
- play
- point
- pow
- procedure
- pset
- put
- random
- read
- receive@
- render
- return
- right$
- roll
- round
- scr$
- send
- sgn
- show
- sin
- speak
- speed
- sprite
- sqr
- stay
- stop
- str$
- tan
- tap
- time
- touch
- truncate
- turn
- unbind
- val
- visible
- write
- xpos
- ypos
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