pygame: 輸入後畫圓

2024-10-01 19:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

这似乎是一个非常简单的代码,这就是为什么我更困惑,它不会工作。我正在创建一个游戏,画一张图片的不同线条,在每个形状之后,询问用户它可能是什么。我的问题是,一旦包含了input()-部分,它甚至不会绘制第一个圆,但是如果没有输入,它工作得非常好。你知道吗

import pygame, sys
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode((1000, 600))
pygame.display.set_caption('PyDoodle')
clock= pygame.time.Clock()
clock.tick(30)
#importing background pictures:
backPimg = pygame.image.load('Wood.jpg')
backPimg = pygame.image.load('Paper.jpg')
backWx = 0
backWy = 0
backPx = 250
backPy = 0
screen.blit(backWimg, (backWx, backWy))
screen.blit(backPimg, (backPx, backPy))

#colors
black = (0, 0, 0)

#solutions
snowman = ('snowman'.capitalize(), 'snow man'.upper(), 'snowman', 'snow man')

#MAIN GAME
while True:
    for event in pygame.event.get()
        if event.type == QUIT:
            pygame.quit()
            sys.exit()
        pygame.display.update()

#DRAWING #1: SNOWMAN
#circle 1 - the part that's getting on my nerves
    pygame.draw.circle(screen, black, (500,400), 70, 2)
    guess1 = raw_input('Your guess:\n')

如果你能看一看就好了,也许你有一些建议。你知道吗


Tags: imageimporteventinputdisplaysysloadscreen
1条回答
网友
1楼 · 发布于 2024-10-01 19:28:34

问题是,pygameraw_input等待输入时没有接收任何事件。(此时您不在事件循环中。)因此您永远不会执行pygame.display.update()。你知道吗

pygame.draw.circle(screen, black, (500,400), 70, 2)之后添加pygame.display.update()。但是,如果需要重新绘制窗口,则在输入仍然完成之前,不会执行该窗口。你知道吗

或许应该改用pygame提供的输入机制。你知道吗

相关问题 更多 >

    热门问题