pygame图像未显示

Posted

技术标签:

【中文标题】pygame图像未显示【英文标题】:pygame image not showing 【发布时间】:2020-04-25 16:39:39 【问题描述】:

我刚刚开始学习 pygame。我尝试在 pygame 控制台显示屏的底部中心显示一个 bmp 图像。没有任何编译错误。如果有人告诉我我的错误,将不胜感激。我不知道哪里出了问题。

下面我加载图像的代码。图片为64*64

import pygame

class Ship():

    def __init__(self, screen):
        self.screen = screen

        self.image = pygame.image.load('images/rocket_small.bmp')
        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()

        self.rect.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom

    def blitme(self):
        self.screen.blit(self.image, self.rect)

下面的代码是我运行屏幕的地方。屏幕尺寸为1200*800

import sys
import pygame

from settings import Settings
from ship import Ship

def run_game():
    # init a window
    pygame.init()

    ai_settings = Settings()

    screen = pygame.display.set_mode((ai_settings.screen_width, ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")

    ship = Ship(screen)

    # main loop
    while True:

        # for mouse and keyboard input
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                sys.exit()

        screen.fill(ai_settings.bg_color)
        ship.blitme

        # pygame.display.update()
        pygame.display.flip()

run_game()

这是我的pygame和python3版本

pygame 2.0.0.dev6 (SDL 2.0.10, python 3.8.0)

【问题讨论】:

括号 () 丢失:ship.blitme() 天啊,非常感谢。 【参考方案1】:

这是加载图像的另一种方式

import pygame
pygame.init()
player = pygame.image.load("player.png")

pygame.display.update()

("player.png") 部分确保您的精灵在您的项目中,并且您的精灵名称可能不同,例如 ("snowman.png")

【讨论】:

以上是关于pygame图像未显示的主要内容,如果未能解决你的问题,请参考以下文章

python pygame blit。获取要显示的图像

Python Pygame 无法正确显示图像

使用 PyGame 显示图像的四种方案

使用 PyGame 显示图像的四种方案

如何使用 buildozer 将可以显示图像的 pygame 转换为 apk

pygame运行未响应问题-外星人成行显示