烏賊先生のプログラミング道場

プチコン3号


参考資料

§ スプライト操作2・衝突判定 §

スプライト同士の衝突判定は、SPCOLステートメントで衝突の判定を行う事を設定した後、SPHITSP関数で実現する事が出来ます。

下記のプログラムでは、スプライト同士の衝突の判定を実現して居ます。キャラクタは、 ボタンで上下左右に移動し、他のスプライトと衝突すると、其の番号を表示します。終了するには、 ボタンを押して下さい。

0000001OPTION STRICT
0000002ACLS
0000003DIM  I,B,X=192,Y=112,N
0000004
0000005SPSET  0,2544
0000006SPOFS  0,X,Y
0000007SPCOL  0
0000008
0000009FOR  I=1  TO  5
0000010  SPSET  I,I-1
0000011  SPOFS  I,RND(384),RND(224)
0000012  SPCOL  I
0000013NEXT
0000014
0000015WHILE  TRUE
0000016  B=BUTTON(0)
0000017  
0000018  'QUIT
0000019  IN  B  AND  64  THEN  BREAK
0000020  
0000021  'MOVE
0000022  IF  B  AND  1  THEN
0000023    DEC  Y : IF  Y<0  THEN  Y=0
0000024  ENDIF
0000025  IF  B  AND  2  THEN
0000026    INC  Y : IF  Y>224  THEN  Y=224
0000027  ENDIF
0000028  IF  B  AND  4  THEN
0000029    DEC  X : IF  X<0  THEN  X=0
0000030  ENDIF
0000031  IF  B  AND  8  THEN
0000032    INC  X : IF  X>384  THEN  X=384
0000033  ENDIF
0000034  
0000035  'COLLISION
0000036  N=SPHITSP(0)
0000037  IF  N>0  THE
0000038    LOCATE  0,0 : PRINT  "HIT SPRITE "+STR$(N)
0000039  ENDIF
0000040  
0000041  SPOFS  O,X,Y
0000042  
0000043  VSYNC  1
0000044WEND
0000045ACLS : END



ゲームプログラミング道場 ニンテンドー3DS Smile BASIC  Visual Basic,Visual C#

Copyright © King of Squid, All rights reserved.