SPCOLLISION - [画像表示] |
||||||
… スプライト衝突検索
SPCOLLISION(判定元,開始,終了)
判定元: 衝突されているかどうかを判定するスプライトの番号
開始: 衝突を判定するスプライト番号の開始範囲
終了: 衝突を判定するスプライト番号の終了範囲
判定元のスプライトに重なっているスプライト番号を返します。重なっていない場合は、-1を返します。
開始〜終了に指定した範囲のスプライト番号に対して判定を行います。
判定元のスプライト上に複数のスプライトが重なっている場合は、一番小さいスプライト番号が返ります。
REM 944BASIC 'SPCOLLISION サンプル'
SETDIRECTORY 'F1:\944BASIC\'
SETPAGE 2: BITMAP '9B_REF.BMP'
COLORBG 0,0,0:CLS
FOR I=100 TO 160
X=(RND+TIME)%220:Y=(RND+TIME)%220
N=(RND+TIME)%6
SPRITE I,I,1, X,Y, N*16,0, 16,16
NEXT I
MESSAGE 'ペンを動かしてください'
FONT 48+1:COLORFG 255,255,255
*LOOP SYNC
X=PENX:Y=PENY
SPRITE 1,1,1,X-12,Y-12,96,3,16,10
IF SPCOLLISION(1,100,160)<>(-1) THEN GCURSOR X-36,Y-24: PRINT 'Ooops!'
REFRESH 0,0,0,0,240,240
GOTO *LOOP
SPCOLLISION - [画像表示] |