from graphics import *
win = GraphWin("Circle Race", 500, 500)
#red circle position
RcenterX = 50
RcenterY = 100
Rright = RcenterX+25
Rleft = RcenterY
# The Red circle
cr = Circle(Point(RcenterX,RcenterY), 25)
cr.setFill('red')
cr.setOutline('black')
cr.draw(win)
if RcenterX<=400:
win.getMouse()
cr.move(50 ,0)
elif RcenterX>300:
win.getMouse()
win.close()
我试图在每次点击后将红色圆圈移动50个像素,并在圆圈的右边缘达到400时停止。 但它达到400后仍在继续前进? 怎么能让它停在400?
答案 0 :(得分:0)
两个基本更改:您的if
语句需要是while
循环;您需要重新计算RcenterX
,无论是自己更新还是询问您的圈子对象:
from graphics import *
win = GraphWin("Circle Race", 500, 500)
# red circle position
RcenterX, RcenterY = 50, 100
Rradius = 25
# The Red circle
cr = Circle(Point(RcenterX, RcenterY), Rradius)
cr.setFill('red')
cr.setOutline('black')
cr.draw(win)
while cr.getCenter().getX() + Rradius/2 < 400: # right edge stops at 400
win.getMouse()
cr.move(50, 0)
win.getMouse()
win.close()