
参考資料
§ 基本アクション(スプライト移動) §
泳げ、泳げ!
ボタンの押し下げ状態、変数のインクリメントとデクリメント、アニメーション
前出の『歩け、歩け!』に記述して居ますので、参照して下さい。
遊泳
遊泳は、基本的にジャンプと同じです。『跳べ、跳べ!1』に記述して居ますので、参照して下さい。
但し、ジャンプが、ジャンプ中に、更にジャンプ出来ないが、遊泳は、上昇中に、更に上昇する事が出来ます。亦、海中では、水の抵抗を受けるので、上昇や下降の速度を調整する必要が有ります。
プログラムの説明
下記のプログラムでは、スプライトが、
ボタンで左右に動き、
ボタンで上昇します。
猶、遊泳中の画像が標準画像に無かったので、新たに作成しました(スーパーマリコと謂います)。
| 0000001 | OPTION STRICT |
| 0000002 | ACLS |
| 0000003 | DIM B.X=184,Y=200,AC=0,ST=0,DR=0,C=0,N=0 |
| 0000004 | SPSET 0,716 |
| 0000005 | SPSCALE 0,2,2 |
| 0000006 | SPOFS 0,X,Y |
| 0000007 | GFILL 0,0,399,231,RGB(0,255,255) |
| 0000008 | GFILL 0,232,399,239,RGB(&HA0,0,0) |
| 0000009 | |
| 0000010 | LOCATE 17,1:PRINT "PUSH X TO FINISH" |
| 0000011 | |
| 0000012 | WHILE TRUE |
| 0000013 | IF B AND 64 THEN BREAK |
| 0000014 | IF B AND 4 THEN |
| 0000015 | DEC X,0.4:DR=1 |
| 0000016 | IF ST==0 THEN |
| 0000017 | SPCHR 0,724+N |
| 0000018 | ELSE |
| 0000019 | SPCHR 0,734 |
| 0000020 | ENDIF |
| 0000021 | ENDIF |
| 0000022 | IF B AND 8 THEN |
| 0000023 | INC X,0.4:DR=0 |
| 0000024 | IF ST==0 THEN |
| 0000025 | SPCHR 0,716+N |
| 0000026 | ELSE |
| 0000027 | SPCHR 0,732 |
| 0000028 | ENDIF |
| 0000029 | ENDIF |
| 0000030 | IF X<0 THEN X=0 |
| 0000031 | IF X>366 THEN X=366 |
| 0000032 | IF B AND 16 THEN |
| 0000033 | ST=1:AC=1 |
| 0000034 | IF DR==0 THEN |
| 0000035 | SPCHR 0,732 |
| 0000036 | ELSE |
| 0000037 | SPCHR 0,734 |
| 0000038 | ENDIF |
| 0000039 | ENDIF |
| 0000040 | IF ST==1 THEN |
| 0000041 | GPSET X,Y,#RED |
| 0000042 | DEC AC,0.02 |
| 0000043 | DEC Y,AC |
| 0000044 | IF Y>200 THEN |
| 0000045 | Y=200:ST=0 |
| 0000046 | IF DR==0 THEN |
| 0000047 | SPCHR 0,716 |
| 0000048 | ELSE |
| 0000049 | SPCHR 0,724 |
| 0000050 | ENDIF |
| 0000051 | ENDIF |
| 0000052 | ENDIF |
| 0000053 | INC C |
| 0000054 | IF (C DIV 10)==1 THEN |
| 0000055 | C=0:INC N:IF N>3 THEN N=0 |
| 0000056 | ENDIF |
| 0000057 | SPOFS 0,X,Y |
| 0000058 | VSYNC 1 |
| 0000059 | WEND |
| 0000060 | ACLS:END |
