
参考資料
§ スプライト操作3・リンク §
スプライト同士のリンクは、SPLINKステートメントで実現する事が出来ます。スプライト同士をリンクさせると、親スプライトの動きに連動して子スプライトが動く様に成ります。
下記のプログラムでは、リンクに依る連動を実現して居ます。キャラクタは、
ボタンで上下左右に移動し、
ボタンで右回転、
ボタンで左回転します。終了するには、
ボタンを押して下さい。
| 0000001 | OPTION STRICT |
| 0000002 | ACLS |
| 0000003 | DIM I,B,X=192,Y=112,AN=0 |
| 0000004 | |
| 0000005 | SPSET 0,2544 |
| 0000006 | SPOFS 0,X,Y |
| 0000007 | SPCOL 0 |
| 0000008 | SPHOME 0,8,8 |
| 0000009 | |
| 0000010 | FOR I=1 TO 4 |
| 0000011 | SPSET I,I-1 |
| 0000012 | SPHOME I,8,8 |
| 0000013 | SPLINK I,0 |
| 0000014 | NEXT |
| 0000015 | SPOFS 1,0,-50 |
| 0000016 | SPOFS 2,50,0 |
| 0000017 | SPOFS 3,0,50 |
| 0000018 | SPOFS 4,-50,0 |
| 0000019 | |
| 0000020 | WHILE TRUE |
| 0000021 | B=BUTTON(0) |
| 0000022 | |
| 0000023 | 'QUIT |
| 0000024 | IN B AND 64 THEN BREAK |
| 0000025 | |
| 0000026 | 'MOVE |
| 0000027 | IF B AND 1 THEN |
| 0000028 | DEC Y : IF Y<0 THEN Y=0 |
| 0000029 | ENDIF |
| 0000030 | IF B AND 2 THEN |
| 0000031 | INC Y : IF Y>224 THEN Y=224 |
| 0000032 | ENDIF |
| 0000033 | IF B AND 4 THEN |
| 0000034 | DEC X : IF X<0 THEN X=0 |
| 0000035 | ENDIF |
| 0000036 | IF B AND 8 THEN |
| 0000037 | INC X : IF X>384 THEN X=384 |
| 0000038 | ENDIF |
| 0000039 | |
| 0000040 | 'ROTATE |
| 0000041 | IF B AND 16 THEN |
| 0000042 | INC AN : IF AN>359 THEN AN=0 |
| 0000043 | ENDIF |
| 0000044 | IF B AND 32 THEN |
| 0000045 | DEC AN : IF AN<0 THEN AN=359 |
| 0000046 | ENDIF |
| 0000047 | |
| 0000048 | SPOFS O,X,Y |
| 0000049 | SPROT 0,AN |
| 0000050 | |
| 0000051 | VSYNC 1 |
| 0000052 | WEND |
| 0000053 | ACLS : END |