Python在运行时没有响应

2024-10-01 00:15:48 发布

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

当我播放Python时,它不会响应。也没有出现语法错误。不知道怎么了。我试着运行我制作的另一个游戏,它运行得很好,所以我认为它不是我的电脑。 error message

这是我的代码:

import pygame 

pygame.init()

screen = pygame.display.set_mode((800,600))

pygame.display.set_caption("Draft")

icon = pygame.image.load("doctor.png")

pygame.display.set_icon(icon)

white = (255,255,255)
black = (0,0,0) red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)

def draw_ground():
    groundx = 20
    groundy = 30
    Ground = pygame.Rect(groundx,groundy,width = 800,height = 20)
    pygame.draw.rect(screen,green,Ground)

running = True
while running:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    draw_ground()

它还没有完成,我正在尝试在继续之前先测试它


Tags: event游戏displaygreenscreenpygamerunningicon
1条回答
网友
1楼 · 发布于 2024-10-01 00:15:48

您的代码中有一个输入错误:

black = (0,0,0) red = (255,0,0)

一定是这样

black = (0,0,0) 
red = (255,0,0)

然而,还有更多


pygame.Rect不接受关键字参数:

Ground = pygame.Rect(groundx,groundy,width = 800,height = 20)

Ground = pygame.Rect(groundx,groundy,800,20)

您必须通过调用^{}^{}来更新显示:

clock = pygame.time.Clock()
running = True
while running:
    clock.tick(60)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # clear dispaly
    screen.fill(0)

    # draw objects
    draw_ground()

    # update dispaly
    pygame.display.flip()

典型的PyGame应用程序循环必须:

  • 使用^{}限制每秒帧数以限制CPU使用
  • 通过调用^{}^{}来处理事件
  • 根据输入事件和时间(分别为帧)更新游戏状态和对象位置
  • 清除整个显示或绘制背景
  • 绘制整个场景(blit所有对象)
  • 通过调用^{}^{}更新显示

相关问题 更多 >