あ、マウスを中心にするのが、なたでさんと同じだし...。行数詰めているので非常に読みにくいです。
コンタクトレンズっぽいです。
上手い人はどう書くんでしょう。でも加算・減算を駆使すれば近づけられるってことですね。
NetBallを見てきます^^;
rad = 3.1415926535/180
buffer 2: picload dir_exe+"/sample/demo/sky_bg.jpg"
gx = ginfo_winx: gy = ginfo_winy: cx = gx/2: cy = gy/2
buffer 3, gx, gy: cls 4
lx = cx-100: ly = cy-100: rx = cx+100: ry = cy+100
repeat 256
lt = 1.*cnt*50/256: rt = 1.*cnt*150/256
color cnt, cnt, cnt: circle lx+lt, ly+lt, rx-rt, ry-rt
loop
buffer 4, gx, gy: cls 4
lx = cx-85: ly = cy-85: rx = cx+85: ry = cy+85
repeat 90
lt = 1.*cnt*85/90: rt = 1.*cnt*85/90
ap = sin(rad*cnt)*96: color ap, ap, ap
circle lx+lt, ly+lt, rx-rt, ry-rt
loop
buffer 5, gx, gy: cls 4
repeat 360
col = sin(rad*cnt*2)*128
if( col > 64 ): col = col/3*2
color 128+col, 128+col, 128+col: rx = cos(rad*cnt)*100
ry = sin(rad*cnt)*100: pos cx+rx, cy+ry
rx = cos(rad*(cnt+1))*100: ry = sin(rad*(cnt+1))*100
line cx+rx, cy+ry
loop
color 0
line cx+100, cy+100, cx-100, cy-100
screen 0, gx, gy
*main
repeat 360
await 10
app = sin( rad*cnt )
redraw 0
gmode 2, gx, gy: pos 0, 0: gcopy 2, 0, 0: pos mousex-150, mousey-150
gmode 5, 300, 300, 128+app*32: gcopy 3, lx-50, ly-50
gmode 5, 300, 300, 32+app*-16: gcopy 5, lx-50, ly-50
gmode 6, 300, 300, 196+app*16: gcopy 4, lx-50, ly-50
redraw 1
loop
goto *main