移动Python graphics.py对象
我试图在python图形中同时移动两个对象(这似乎是指),然后在循环中重复移动。然而,当我尝试循环它时,形状消失了。我怎样才能解决这个问题移动Python graphics.py对象,python,zelle-graphics,Python,Zelle Graphics,我试图在python图形中同时移动两个对象(这似乎是指),然后在循环中重复移动。然而,当我尝试循环它时,形状消失了。我怎样才能解决这个问题 def main(): win = GraphWin('Lab Four', 400, 400) c = Circle(Point(100, 50), 40) c.draw(win) c.setFill('red') s = Rectangle(Point(300, 300), Point(350, 350))
def main():
win = GraphWin('Lab Four', 400, 400)
c = Circle(Point(100, 50), 40)
c.draw(win)
c.setFill('red')
s = Rectangle(Point(300, 300), Point(350, 350))
s.draw(win)
s.setFill('blue')
s.getCenter()
while not c.getCenter() == Circle(Point(400, 50), 40):
c.move(10, 0)
s.move(-10, 0)
win.getMouse
while not (win.checkMouse()):
continue
win.close()
代码中有两个明显的问题:将圆的圆心对象与圆对象进行比较——需要将圆心对象与点对象进行组合;您在
win.getMouse()调用中省略了括号。下面的返工修复了这些问题:
from graphics import *
WIDTH, HEIGHT = 400, 400
RADIUS = 40
def main():
win = GraphWin('Lab Four', WIDTH, HEIGHT)
c = Circle(Point(100, 50), RADIUS)
c.draw(win)
c.setFill('red')
s = Rectangle(Point(300, 300), Point(350, 350))
s.draw(win)
s.setFill('blue')
while c.getCenter().getX() < WIDTH - RADIUS:
c.move(10, 0)
s.move(-10, 0)
win.getMouse()
win.close()
main()
从图形导入*
宽度,高度=400400
半径=40
def main():
win=图形宽度('Lab Four',宽度,高度)
c=圆(点(100,50),半径)
c、 平局(赢)
c、 设置填充(“红色”)
s=矩形(点(300300),点(350350))
s、 平局(赢)
s、 设置填充(“蓝色”)
而c.getCenter().getX()<宽度-半径:
c、 移动(10,0)
s、 移动(-10,0)
win.getMouse()
赢
main()
我没有将中心点与点进行比较,而是简单地检查了X位置,因为它是水平移动的。您使用的是哪种图形工具包?