【问题标题】:How do I get my image in python to appear? [closed]如何在 python 中显示我的图像? [关闭]
【发布时间】:2020-10-27 22:41:12
【问题描述】:

我的代码可以移动我的沙滩球图像1 并环绕边缘。当我运行代码时,我没有收到任何错误,但是会出现一个没有球的空白黑屏。当我退出程序时,球的图像会出现一秒钟,然后关闭程序。

import pygame, sys
pygame.init()
screen=pygame.display.set_mode([640,640])
screen.fill([0, 0, 0])
my_ball = pygame.image.load("ball.png")
x=0
y=0
x_speed=5
running=True
while running:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
    pygame.time.delay(20)
    pygame.draw.rect(screen, [0,0,0], [x, y, 0, 0], 0)
    x=x+x_speed
if x>screen.get_width():
    x=0
screen.blit(my_ball,[x, y])
pygame.display.flip()
pygame.quit()

【问题讨论】:

  • 屏幕一直保持黑色,因为绘图操作从未刷新到显示器。您的代码有一个简单的缩进错误,从if x>screen...pygame.display.flip()(包括)的所有内容都应该是while running 循环的一部分。
  • 谢谢你的问题。我觉得很傻,我没听懂。

标签: python python-3.x pygame


【解决方案1】:

你应该放

screen.blit(my_ball,[x, y])
pygame.display.flip()

在这样的while循环中:

while running:
    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
    pygame.time.delay(20)
    pygame.draw.rect(screen, [0,0,0], [x, y, 0, 0], 0)
    x=x+x_speed
    screen.blit(my_ball,[x, y])
    if x>screen.get_width():
        x=0

    pygame.display.flip()

可能还有 if 语句

也代替

pygame.draw.rect(screen, [0,0,0], [x, y, 0, 0], 0)

你可以简单地使用

screen.fill((0, 0, 0))

它只是用指定的颜色填充屏幕

【讨论】:

    【解决方案2】:

    屏幕一直保持黑色,因为绘图操作从未刷新到显示器。

    您的代码有一个简单的缩进错误,从 if x>screen...pygame.display.flip()(包括)的所有内容都应该是 while running 循环的一部分。

    例如:

    while running:
        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                running=False
        #pygame.time.delay(20)    # don't delay the main loop, use clock.tick()
    
        pygame.draw.rect(screen, [0,0,0], [x, y, 0, 0], 0)
    
        x=x+x_speed
        if x>screen.get_width():
            x=0
        screen.blit(my_ball,[x, y])
        pygame.display.flip()
    
    pygame.quit()
    

    【讨论】:

      猜你喜欢
      • 2014-10-16
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 2013-05-09
      • 1970-01-01
      相关资源
      最近更新 更多