首页 > 解决方案 > Python graphics.py 循环移动对象

问题描述

这是我的大学课程项目。我被要求创建一个程序/游戏,其中一个“椭圆”形状在一个循环中从左到右和从右到左移动。但是,当单击鼠标时,底部窗口中的“圆圈”会向上射出以瞄准椭圆形。请注意,椭圆应该是连续移动的,但只有在单击鼠标时圆圈才会向上移动。我已经创建了这段代码,但是当我单击鼠标时,椭圆会根据圆圈移动,而不是自由移动。请帮忙!!

from graphics import *
import time
import random

def TK():

    win = GraphWin("TK CIS 102 Project Phase 1", 800, 600)
    win.setBackground("light green")

    win.getMouse()

    while True:
        ran = random.randint(0,1)
        if ran == 0:
            pointA=-100
            pointB=0
            mve=5

        elif ran !=0:
            pointA=800
            pointB=900
            mve= -5

        aOval=Oval(Point(pointA,50), Point(pointB,80))
        aOval.setFill("black")
        aOval.draw(win)

> #Oval should be in loop moving 
> #circle should be free of loop and should be able to move up
> #when mouse is clicked!     

        mouse = win.checkMouse()

        if mouse != None:
            aCrck=Circle(Point(400,560),15)
            aCrck.setFill("red")
            aCrck.draw(win)

            for i in range(180):
                aOval.move(mve,0)
                aCrck.move(0,-5)
                time.sleep(0.01)
        else:
            for j in range(180):
            aOval.move(mve,0)
            time.sleep(0.01)  
TK()

     



    

标签: pythonpython-3.xfor-loopwhile-loopnested-loops

解决方案


推荐阅读