如何移动一组物体?

2024-09-27 21:31:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用graphics.py,我正在尝试找出如何将一堆线移动到一起。我写的程序画了一个网格线,我不确定我怎么写的东西会移动整个网格1,1每X秒为Y秒。有没有办法把所有的行合并在一起?或者,一个人怎么做呢?你知道吗

from graphics import *
win = GraphWin("Thing",500,500)
win.setCoords(0.0, 0.0, 10.0, 10.0)
a = 0
slength = 1
while True:
    a = a + slength
    vgrid = Line(Point(a,0),Point(a,500))
    hgrid = Line(Point(0,a),Point(500,a))
    vgrid.draw(win)
    hgrid.draw(win)

Tags: frompyimport程序网格linewinpoint
1条回答
网友
1楼 · 发布于 2024-09-27 21:31:13

您可以尝试将它们存储在一个类中,然后一起访问它们的位置。记住,我对这件事一无所知图形.py但您应该能够执行Line.Point1 = Point(b, c)之类的操作。那么你应该能够做到:

win = GraphWin("Thing",500,500)
win.setCoords(0.0, 0.0, 10.0, 10.0)

class MyDrawing:

    def __init__(self):

        self.horizontals = []
        self.verticals = []
        a = 0
        slength = 1

        while True:
            a = a + slength
            self.verticals.append(Line(Point(a,0),Point(a,500)))
            self.horizontals.append(hgrid = Line(Point(0,a),Point(500,a)))
        for line in self.verticals:
            line.draw(win)
        for line in self.horizontals:
            line.draw(win)

    def move(self, x, y):

        for line in self.verticals:
            line.Point1 = Point(line.Point1.x + x, line.Point1.y + y)
            line.Point2 = Point(line.Point2.x + x, line.Point2.y + y)
        for line in self.horizontals:
            line.Point1 = Point(line.Point1.x + x, line.Point1.y + y)
            line.Point2 = Point(line.Point2.x + x, line.Point2.y + y)

相关问题 更多 >

    热门问题