Python/Pygame平台

Python/Pygame平台,python,Python,我正在尝试用Python制作一个pygame(不确定这是否是正确的术语。对不起),作为我正在观看的教程中的一个练习,这个家伙让我在屏幕上的不同位置制作了两个不同颜色的块(如果有帮助的话,这里有一个视频链接)。现在,它工作得很好,但他向我展示了如何使用.png图片更改其中一个块。我一丝不苟地跟踪每件事,但由于某种原因,窗口打开了半秒钟,我得到了一个错误。 这段视频我看了好几遍,但都没法播放。这是我的全部代码,就像现在一样 import pygame from colors import * cl

我正在尝试用Python制作一个pygame(不确定这是否是正确的术语。对不起),作为我正在观看的教程中的一个练习,这个家伙让我在屏幕上的不同位置制作了两个不同颜色的块(如果有帮助的话,这里有一个视频链接)。现在,它工作得很好,但他向我展示了如何使用.png图片更改其中一个块。我一丝不苟地跟踪每件事,但由于某种原因,窗口打开了半秒钟,我得到了一个错误。 这段视频我看了好几遍,但都没法播放。这是我的全部代码,就像现在一样

import pygame
from colors import *

class Block( pygame.sprite.Sprite ):

def __init__( self, color = blue, width = 64, height = 64 ):

    super( Block, self ).__init__()

    self.image = pygame.Surface( ( width, height ) )

    self.image.fill( color )

    self.rect = self.image.get_rect()

def set_position( self, x, y ):
    self.rect.x = x
    self.rect.y = y

def set_image( self, filename = None ):
    if ( filename is not None ):

        self.image = pygame.image.load( filename )

        self.rect = self.image.get_rect()

if ( __name__ == "__main__" ):
pygame.init()

window_size = window_width, window_height = 640, 480
window = pygame.display.set_mode( window_size, pygame.RESIZABLE )

pygame.display.set_caption( "Test Game" )

window.fill( white )

clock = pygame.time.Clock()
frames_per_second = 60


block_group = pygame.sprite.Group()

a_block = Block()
a_block.set_image( "brick.png" )
a_block.set_position( window_width/2, window_height/2 )

another_block = Block( red )
another_block.set_position( 100, 100 )

block_group.add( a_block, another_block )

block_group.draw( window )

running = True

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

    clock.tick( frames_per_second )
    pygame.display.update()

pygame.quit()

如果有人能帮助我,我会很乐意的。谢谢这里有两种解决问题的方法

  • 方法1:
将brick.png移动到与程序(.py)文件相同的目录中

  • 方法2:
指定路径和图像名称,例如: 如果brick.png位于“/home/username/ProgramFolder/brick.png”,则不必键入

a_block.set_image( "brick.png" )
你会打字吗

a_block.set_image( "/home/username/ProgramFolder/brick.png" )

如果这两种方法都不起作用,那么您就有一个独特的问题。有关更多信息,请参阅。

您遇到了什么错误?您发布的代码缩进错误。是的,我对缩进感到抱歉。我试着按原样上传,但网站一直告诉我用4个空格缩进。这非常令人沮丧。我可以向你保证所有的缩进都是正确的。这让我很难复制粘贴错误,Zizouz212。让我再试一次。它是,Traceback(最近一次调用last):第45行,在一个_block.set_图像(“brick.png”)中。然后它还会在set_image self.image=pygame.image.load(filename)pygame.error中显示第24行:无法打开brick.png