【问题标题】:How to make Tkinter & pygame work together?如何让 Tkinter 和 pygame 一起工作?
【发布时间】:2019-04-17 23:45:09
【问题描述】:

我的游戏背景是一张图片,唯一的问题是出现了两个窗口,我只想要一个。出现两个窗口,一个很小但有图像,另一个很大但没有任何内容。我该怎么做才能让两者一起工作?代码:

import pygame
from pygame.locals import *
from Tkinter import *
import Tkinter as Tk

black = ("#000000")
white = ("#FFFFFF")
green = ("#00CD00")
yellow = ("#FFFF00")

pygame.init()
display = pygame.display.set_mode((1024,720))
pygame.display.set_caption("Hello Universe")

root = Tk.Tk()
background_image=Tk.PhotoImage(file="/home/jar/python/background_image.gif")
background_label = Tk.Label(root, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
root.mainloop()

quit = False
while not quit:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            quit = True

【问题讨论】:

  • 我不确定这是否有帮助,但 mainloop 不是变量,它是一个函数,试试top.mainloop()

标签: python python-2.7 tkinter pygame


【解决方案1】:

原来你不需要 Tkinter 你可以这样做:

import pygame
from pygame.locals import *

pygame.init()
white = (255,255,255)
size = [1024, 720]
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Hello Universe")
done = False
clock = pygame.time.Clock()
background_image = pygame.image.load("background_image.gif").convert()

while done == False:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = True


        screen.blit(background_image, [0,0])
        pygame.display.flip()
        clock.tick(60)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2015-10-01
    • 2017-06-11
    • 2014-01-12
    • 2020-11-03
    • 2011-03-08
    • 1970-01-01
    相关资源
    最近更新 更多