
参考資料
§ 横スクロール(キャラ中央型) §
バックグラウンド画面は、夫々の画面に、幅×高さが16383以下の大きさを設定する事が出来ます。横長の画面を作り、BGOFSステートメントで表示位置を移動させる事で横スクロールを行う事が出来ます。
下記のプログラムでは、キャラクタが、
ボタンで左右に動き、背景がスクロールします。終了するには、キーボード画面の STOP をタップして下さい。
| 0000001 | OPTION STRICT |
| 0000002 | ACLS |
| 0000003 | DIM I,B,X,Y,BX,BY |
| 0000004 | |
| 0000005 | GFILL 0,0,399,239,#BLUE |
| 0000006 | |
| 0000007 | BGSCREEN 0,50,15 |
| 0000008 | FOR I=0 TO 49 |
| 0000009 | BGPUT 0,I,13,614 |
| 0000010 | BGPUT 0,I,14,646 |
| 0000011 | NEXT |
| 0000012 | FOR I=5 TO 45 |
| 0000013 | BGPUT O,I,10,167 |
| 0000014 | BGPUT O,I,11,199 |
| 0000015 | BGPUT O,I,12,231 |
| 0000016 | NEXT |
| 0000017 | |
| 0000018 | X=184 : Y=160 |
| 0000019 | SPSET 0,1016 |
| 0000020 | SPSCALE 0,2,2 |
| 0000021 | SPOFS 0,X,Y |
| 0000022 | |
| 0000023 | BX=0 : BY=0 |
| 0000024 | WHILE TRUE |
| 0000025 | B=BUTTON(0) |
| 0000026 | IF B AND 4 THEN |
| 0000027 | SPANIM 0,"I",8,1025,8,1026,8,1027,8,1024,0 |
| 0000028 | IF X>184 THEN |
| 0000029 | DEC X : IF X<184 THEN X=184 |
| 0000030 | ELSE |
| 0000031 | DEC BX : IF BX<0 THEN BX=0 |
| 0000032 | IF BX==0 THEN |
| 0000033 | DEC X : IF X<0 THEN X=0 |
| 0000034 | ENDIF |
| 0000035 | ENDIF |
| 0000036 | ENDIF |
| 0000037 | IF B AND 8 THEN |
| 0000038 | SPANIM 0,"I",8,1017,8,1018,8,1019,8,1016,0 |
| 0000039 | IF X<184 THEN |
| 0000040 | INC X : IF X>184 THEN X=184 |
| 0000041 | ELSE |
| 0000042 | INC BX : IF BX>400 THEN BX=400 |
| 0000043 | IF BX==400 THEN |
| 0000044 | INC X : IF X>367 THEN X=367 |
| 0000045 | ENDIF |
| 0000046 | ENDIF |
| 0000047 | ENDIF |
| 0000048 | LOCATE 0,0 : PRINT FORMAT$("%2D",BX) |
| 0000049 | BGOFS 0,BX,BY |
| 0000050 | SPOFS 0,X,Y |
| 0000051 | VSYNC 1 |
| 0000052 | WEND |