@PRTTEXT
RESTORE "@"+LBL$
FOR Z=0 TO 2
READ TXT$
READ CL$
FOR I=0 TO LEN(TXT$)-1
WAIT 2
FOR CLI=0TO 15
IF MID$(CL$,I,1)==HEX$(CLI)THEN CL=CLI
NEXT CLI
COLOR CL
PRINT MID$(TXT$,I,1);
NEXT I:PRINT:WAIT 2
NEXT Z
RETURN
@PRTTEXT
RESTORE "@"+LBL$
FOR Z=0 TO 2
READ TXT$
FOR I=0 TO LEN(TXT$)-1
WAIT 2
IF MID$(TXT$,I,1)=="&"THEN I=I+1:GOSUB@CL
COLOR CL
PRINT MID$(TXT$,I,1);
NEXT I:PRINT:WAIT 2
NEXT Z
RETURN
@CL
FOR CLI=0TO 15
IF MID$(TXT$,I,1)==HEX$(CLI)THEN CL=CLI
NEXT CLI
RETURN
@TXTDT0
DATA"テ&4ストダヨ-ン"
DATA"ア-ア-テストテスト"
DATA"テスタマン!?"
@PRTTEXT
RESTORE "@"+LBL$
FOR Z=0 TO 2
READ TXT$
FOR I=0 TO LEN(TXT$)-1
WAIT 2
IF MID$(TXT$,I,1)=="&"THEN I=I+1:GOSUB@CL
COLOR CL
PRINT MID$(TXT$,I,1);
NEXT I:PRINT:WAIT 2
NEXT Z
RETURN
@CL
FOR CLI=0TO 15
IF MID$(TXT$,I,1)==HEX$(CLI)THEN CL=CLI:I=I+1
NEXT CLI
RETURN
@TXTDT0
DATA"テ&4ストダヨ-ン"
DATA"ア-ア-テストテスト"
DATA"テスタマン!?"
SPHITでバグらしきものをみつけました。SPOFSでスプライトを移動しているときにSPHITで当たり判定をすると、たまにどうみても接触してないのにSPHITが1を返す事があります。
ACLS
GPAGE 0
SPPAGE 0:SPCLR
SPSET 0,0,0,0,0,0
A=0
@LOOP
ON A GOTO @0,@1
@0
SPOFS 0,RND(256),RND(192),30
A=1
GOTO @00
@1
IF SPCHK(0)==0 THEN A=0
@00
FOR I=0 TO 11
FOR J=0 TO 15
B=SPHITRC(0,16*J,16*I,15,15)
GFILL 16*J,16*I,16*J+15,16*I+15,B*15
NEXT
NEXT
GOTO @LOOP
SPHITRCとGFILLで当たり判定が見えるようにしたんですが、たまにスプライトのない所でも当たり判定が発生してしまいます。これはSPOFSの補間時間を1以上にした時に起きてるみたいです。
分かりにくかったらすいません。