【问题标题】:pygame background image not showingpygame背景图像不显示
【发布时间】:2020-08-13 23:25:31
【问题描述】:

我正在开发一款 pygame 太空入侵者游戏。当我尝试对背景图像进行 blit 时,它不起作用。我对 pygame 还很陌生,所以我不知道该怎么做。我尝试下载另一张图片并使用它,但问题仍然存在。

import pygame
import os
import time
import random
import math
import sys

pygame.init()
screen = pygame.display.set_mode((750,750))
pygame.display.set_caption("Space Invaders")
FPS = 60
clock = pygame.time.Clock()

#Ships
RED_SPACE_SHIP = pygame.image.load(os.path.join('assets','pixel_ship_red_small.png'))
GREEN_SPACE_SHIP = pygame.image.load(os.path.join('assets','pixel_ship_green_small.png'))
BLUE_SPACE_SHIP = pygame.image.load(os.path.join('assets','pixel_ship_blue_small.png'))
YELLOW_SPACE_SHIP = pygame.image.load(os.path.join('assets','pixel_ship_yellow.png'))

#Lasers
RED_LASER = pygame.image.load(os.path.join('assets','pixel_laser_red.png'))
BLUE_LASER = pygame.image.load(os.path.join('assets','pixel_laser_blue.png'))
YELLOW_LASER = pygame.image.load(os.path.join('assets','pixel_laser_yellow.png'))
GREEN_LASER = pygame.image.load(os.path.join('assets','pixel_laser_green.png'))

#Background
BG = pygame.transform.scale2x(pygame.image.load(os.path.join('assets','background-black.png')).convert_alpha())

def main():
    run = True

    def redraw_window():
        screen.blit(BG, (0, 0))
        pygame.display.update()

while True:
    clock.tick(FPS)
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    screen.blit(BG, (0,0))
    pygame.display.update
    clock.tick(120)

pygame.quit()

【问题讨论】:

    标签: pygame


    【解决方案1】:

    调用显示更新时需要括号:

    screen.blit(BG, (0,0))
    pygame.display.update()  # need parenthesis
    clock.tick(120)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-19
      • 2012-10-16
      • 2012-12-11
      • 2016-08-19
      • 2016-06-11
      • 2015-12-10
      • 2019-02-27
      • 2015-02-18
      相关资源
      最近更新 更多