【发布时间】:2018-05-20 02:24:34
【问题描述】:
当您按下按钮移动“坦克”时,它会启动,但随后会停止并再次启动。有什么办法让它不这样做?
from tkinter import *
from tkinter.constants import LEFT
root = Tk()
c = Canvas(root, width=400, height=400)
tank = c.create_rectangle(200,200,250, 250, outline = 'dark green',
fill='dark green')
c.pack()
class Tank:
def move_left(self):
c.move(tank, -5, 0)
def move_right(self):
c.move(tank, 5,0)
def move_up(self):
c.move(tank, 0, -5)
def move_down(self):
c.move(tank, 0, 5)
c.bind('<Left>', Tank.move_left)
c.bind('<Right>', Tank.move_right)
c.bind('<Up>', Tank.move_up)
c.bind('<Down>', Tank.move_down)
c.focus_set()
root.mainloop()
【问题讨论】:
-
您需要在 su=ystem 上调整按键重复的延迟时间
-
附带说明,这不是类的用途。你想创建一个实例,然后用那个实例做事,而不是用类本身。通常,实例会存储一些状态,方法会在
self上使用该状态。也许像this。