100 SCREEN 0 110 ' 120 ' 画面の座標と半透明スプライトの座標を一致させて定義 130 ' 140 W=40:' <--- W: スポット光のサイズ(8の倍数) 150 SPRWINDOW,,,,,W/2,W/2 160 FOR I=0 TO 1:SETTEX I,W,W,32768:CLS I+10 170 SETPFONT 1+I,1,(W/32*&H0.FFFC,W/32*&H0.FFFC,0,0,0,0) 180 SETATR I,1,(0,1,3,I,0,3*I):OBJTYPE I+1,7:NEXT :OBJLINK 2,1 190 ' 200 ' スポット光の定義 210 ' 220 ACTIVE 11 230 LINE (0,0)-(W-1,W-1),0,BF 240 FOR I=0 TO 31:C=W/2-1-I*W/128:CIRCLE (W/2,W/2),C,RGB(I,I,I),F:NEXT 250 ' 260 ' 背景描画 270 ' 280 ACTIVE 0:FOR I=0 TO 3000:L=RND(32):A=RND(320):B=RND(224) 290 LINE (A,B)-(A+L,B+L),RGBADD(0,RND(16),RND(16),RND(16)),BF:NEXT 300 ' 310 ' 移動 320 ' 330 X=160:Y=112 340 *MOVE 350 GCOPY 0,(X,Y)-(X+W-1,Y+W-1) TO I$ 360 SETTEX 0,W,W,32768,WANDOR$(WMUL$(RIGHT$(I$,W*W*2),2),-1,&H8000) 370 P=PAD(0,1) 380 IF P AND @PAD_LEFT THEN X=X-3 390 IF P AND @PAD_RIGHT THEN X=X+3 400 IF P AND @PAD_UP THEN Y=Y-3 410 IF P AND @PAD_DOWN THEN Y=Y+3 420 OBJ(1,@XP)=X,Y 430 VSYNC :GOTO *MOVE