gpt4 book ai didi

python - 当我运行我的代码时,我的 pygame 代码卡住了

转载 作者:行者123 更新时间:2023-12-01 14:38:33 24 4
gpt4 key购买 nike

每当我运行代码时,整个东西都会卡住,我不确定为什么,它应该只显示所有内容(它会显示)但是当我点击我的鼠标时它应该打印“yeet”

不知道是不是和while循环有关

我删除了它,但它没有更新游戏

这是完整的代码

import pygame
import time

pygame.init()
screen = pygame.display.set_mode((1200, 800))
done = False
pygame.font.get_fonts()
fourty = pygame.font.SysFont('Comic Sans MS', 40)
ten = pygame.font.SysFont('Comic Sans MS', 10)
twenty = pygame.font.SysFont('Comic Sans MS', 20)
thirty = pygame.font.SysFont('Comic Sans MS', 30)
sixty = pygame.font.SysFont('Comic Sans MS', 60)
fifty = pygame.font.SysFont('Comic Sans MS', 50)
clock = pygame.time.Clock()
WHITE = pygame.Color("#ffffff")
BLACK = pygame.Color("#000000")
RED = pygame.Color("#e6000d")
BLUE = pygame.Color("#0b5dff")
YELLOW = pygame.Color("#d8fb06")
GREEN = pygame.Color("#00e600")
screen.fill(WHITE)
play=bool()
play = False


def refresh():
pygame.display.update()
pygame.display.flip()
clock.tick(60)

def main():
global play
hangman = fourty.render("WELCOME TO HANGMAN", True, (BLACK))
screen.blit(hangman, [360, 200])
go = thirty.render("CLICK ANYWHERE TO START", True, (BLACK))
screen.blit(go, [551,445])
clock.tick(100)
while True:
refresh()
if play == True:
play()


def play():
print ("yeet")



main()




while not done:
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
elif event.type == pygame.MOUSEBUTTONDOWN:
if play == False:
play == True
clock.tick(60)


pygame.display.flip()

最佳答案

存在无限循环,main中没有任何事件处理。你根本不需要那个循环。使用主应用程序循环。此外,play 是一个函数的名称,因此表示游戏状态的变量名称应该有不同的名称(例如 playgame):

def refresh():
pygame.display.flip()
clock.tick(60)

def main():
hangman = fourty.render("WELCOME TO HANGMAN", True, (BLACK))
screen.blit(hangman, [360, 200])
go = thirty.render("CLICK ANYWHERE TO START", True, (BLACK))
screen.blit(go, [551,445])

def play():
print ("yeet")

playgame = False
done = False
while not done:

# handle events
for event in pygame.event.get():
if event.type == pygame.QUIT:
done = True
elif event.type == pygame.MOUSEBUTTONDOWN:
if playgame == False:
playgame = True

# clear display
screen.fill(WHITE)

# draw scene dependent on game state `playgame`
if playgame:
play()
else:
main()

# update dispaly
refresh()

关于python - 当我运行我的代码时,我的 pygame 代码卡住了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59671295/

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