バーを通り抜けるような動作をしてしまいます。なぜでしょうか?
ちなみに、scmodというのは、いろいろ自分でマクロを定義したものです(whiteなど)。
#define RCX 480 #define RCY 640 #define BALLSIZE 18 #define BARSIZEX 64 #define BARSIZEY 20 #define BARY 540 screen 0,RCX,RCY title "BALL" bx=100,100 bpx=2:bpy=2 barx=RCX/2 repeat redraw 0 color 242,136,40 boxf barx=mousex-BARSIZEX/2 white:pos barx,BARY:drwbox BARSIZEX,BARSIZEY bx+=bpx if bx<=0:bx=0:bpx=-bpx if bx>=(RCX-BALLSIZE):bx=RCX-BALLSIZE:bpx=-bpx by+=bpy if by<=0:by=0:bpy=-bpy if by>=(RCY-BALLSIZE):by=RCY-BALLSIZE:bpy=-bpy buttom=by+BALLSIZE:halfx=bx+BALLSIZE/2:barhalfx=barx+BARSIZEX/2 if buttom>=BARY & by<BARY+BARSIZEY & abs(halfx-barhalfx)<BARSIZEX/2{ bly=BARY-BALLSIZE:bpy=-bpy } white:circle bx,by,bx+BALLSIZE,by+BALLSIZE redraw 1 await 4 loop