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

プチコン3号


参考資料

§ 基本アクション(スプライト移動) §

走れ、走れ!

ボタンの押し下げ状態、変数のインクリメントとデクリメント、アニメーション

前出の『歩け、歩け!』に記述して居ますので、参照して下さい。

ダッシュ

移動速度を格納した変数DSの値を、 ボタンが押され続けて居る間、上限の5に成る迄、1.2倍して居ます。亦、 ボタンが押されて居ないか、開放された時に、初期値の0に戻して居ます。

B=BUTTOPN(0)
IF B AND 32 THEN
  DS=DS*1.2:IF DS>5 THEN DS=5
ELSE
  DS=1
ENDIF

移動速度に一定の値を加算して行くと等加速に成りますが、乗算して行くと徐々に加速する事に成ります(此の値は、適宜調整して下さい)。

プログラムの説明

下記のプログラムでは、スプライトが、 ボタンで左右に動きます。 ボタンを同時に押すとダッシュします。

0000001OPTION STRICT
0000002ACLS
0000003DIM B,X=184,Y=200,DS=1,C=0,N=0
0000004SPSET 0,620
0000005SPSCALE 0,2,2
0000006SPOFS 0,X,Y
0000007GFILL 0,232,399,239,RGB(0,255,0)
0000008
0000009LOCATE 17,1:PRINT "PUSH X TO FINISH"
0000010
0000011WHILE TRUE
0000012  B=BUTTON(0)
0000013  IF B AND 64 THEN BREAK
0000014  IF B AND 32 THEN
0000015    DS=DS*1.2:IF DS>5 THEN DS=5
0000016  ELSE
0000017    DS=1
0000018  ENDIF
0000019  IF B AND 4 THEN
0000020    DEC X,DS:SPCHR 0,624+N
0000021  ENDIF
0000022  IF B AND 8 THEN
0000023    INC X,DS:SPCHR 0,616+N
0000024  ENDIF
0000025  IF X<0 THEN X=0
0000026  IF X>366 THEN X=366
0000027  INC C,DS
0000028  IF (C DIV 10)==1 THEN
0000029    C=0:INC N:IF N>3 THEN N=0
0000030  ENDIF
0000031  SPOFS 0,X,Y
0000032  VSYNC 1
0000033WEND
0000034ACLS:END




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

Copyright © King of Squid, All rights reserved.