在 python 中乘以移动矩形 (tkinter)
multiplying moving rectangles in python (tkinter)
我有两个问题:
我想做几个矩形,随机移动。我正处于一个地步
可以用一个矩形来做,但我不知道如何将它们相乘。
我是初学者,所以我复制了这个例子并对其进行了修改,但我不知道为什么我每次都必须写 "self" 和“初始化”。以这种方式命名这些参数似乎很常见。
我多次查看这两个问题,但没有找到令人满意的答案。
这里是代码:
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()
我有两个问题:
我想做几个矩形,随机移动。我正处于一个地步 可以用一个矩形来做,但我不知道如何将它们相乘。
我是初学者,所以我复制了这个例子并对其进行了修改,但我不知道为什么我每次都必须写 "self" 和“初始化”。以这种方式命名这些参数似乎很常见。
我多次查看这两个问题,但没有找到令人满意的答案。
这里是代码:
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()