【发布时间】:2017-04-10 17:48:06
【问题描述】:
我正在创建一个类似于 atari 游戏的游戏;杆位。我试图弄清楚每次有人越过起跑线时如何让随机汽车出现。我在呼叫不止一辆随机汽车时遇到问题。我没有收到错误消息。下面是我的代码。 (如果您对如何让汽车特别出现在赛道上有任何建议,那也会有所帮助)我是编程的初学者,并且仍在努力解决。感谢您的任何建议。
import random
import time
class Game:
def __init__(self):
self.tk = Tk()
self.tk.title("Car Game")
self.tk.resizable(0, 0)
self.tk.wm_attributes("-topmost", 1)
self.canvas = Canvas(self.tk, width=1280, height=750, bd=0, highlightthickness=0)
self.canvas.pack()
self.tk.update()
self.bg = PhotoImage(file="road.gif")
self.canvas.create_image(0, 0, image=self.bg, anchor='nw')
def your_car_sprite(self):
self.yourCar = PhotoImage(file="carForgame.gif")
self.canvas.create_image(850,570,image=self.yourCar, anchor='nw')
def random_cars_sprite(self):
x = random.randint(0,1280)
y = random.randint(0,750)
self.randomCar = PhotoImage(file='Car2.gif')
self.canvas.create_image(x, y, image=self.randomCar, anchor='nw')
for i in range(1,5):
self.canvas.create_image(x, y, image=self.randomCar, anchor='nw')
def mainloop(self):
while 1:
self.tk.update_idletasks()
self.tk.update()
time.sleep(0.01)
g = Game()
g.your_car_sprite()
rCars = g.random_cars_sprite()
main = mainloop()
【问题讨论】:
-
为什么要编写自己的
mainloop方法?会比只调用 tkinter 提供的mainloop方法效率低。 -
你能解释一下如何调用我自己的 mainloop 函数吗?
-
我没有看到任何起始行的代码,或者我看到任何移动对象的代码。
-
我还没有走到那一步。在我走得更远之前,我只是想把汽车放在画布上。
-
在
Game类内调用self.tk.mainloop(),或在类外调用g.tk.mainloop()。
标签: tkinter python-3.5