gpt4 book ai didi

python - 在 python (tkinter) 中乘以移动矩形

转载 作者:行者123 更新时间:2023-12-01 06:53:34 27 4
gpt4 key购买 nike

我有两个问题:

  1. 我想制作几个随机移动的矩形。我现在正处于这样的时刻可以用一个矩形来完成,但我不知道如何将它们相乘。

  2. 我是一个初学者,所以我复制了这个例子并根据我的喜好进行了修改,但我不知道为什么我每次都必须写“self”和“init” ”。以这种方式命名这些参数似乎很常见。

我多次查看了这两个问题,但没有找到令人满意的答案。

这里是代码:

from tkinter import *
from tkinter.ttk import *
from random import *

class simulation:
def __init__(self, anzahl, master = None):

self.master = master
self.canvas = Canvas(master, width= 2736, height= 1824)
self.rectangle = self.canvas.create_rectangle(500, 380, 515, 395, fill = "black")
self.canvas.pack()

self.movement()

def movement(self):
self.canvas.move(self.rectangle, randint(-10,10), randint(-10,10))
self.canvas.after(100, self.movement)

if __name__ == "__main__":
master = Tk()
master.title("Simulation")
simulation = simulation(master)

mainloop()

最佳答案

也许这会对您有所帮助,为每个玩家和 Canvas 包装的对象创建一个对象,以免隐藏其他玩家......

from tkinter import *

from random import *

class simulation:
def __init__(self, master , canvas , color):
self.master = master
self.canvas = canvas
self.rectangle = canvas.create_rectangle(500, 380, 515, 395, fill=color)


def movement(self):
canvas.move(self.rectangle, randint(-10,10), randint(-10,10))
self.canvas.after(100, self.movement)

if __name__ == "__main__":
master = Tk()
canvas = Canvas(master, width=2736, height=1824)
canvas.pack()
master.title("Simulation")
player1 = simulation(master, canvas,"red")
player2 = simulation(master,canvas, "black")
player1.movement()
player2.movement()


mainloop()

关于python - 在 python (tkinter) 中乘以移动矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58900191/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com