如何载入一张以 pygame 为背景的大图?

How can I load a huge image with pygame as a background?

我正在 pygame 中制作格斗游戏,但每当我加载背景 (940x680 PNG) 时,程序开始严重滞后,这是我的代码:

#import section
import os
import pygame
import time
from pygame.locals import *

#end of import section

#initiazing pygame
pygame.init()
print "Loaded Pygame 100%"

#lengths
width, height = 940,680

#opening window
screen = pygame.display.set_mode((width, height))

#position
background = [0,0]


#loading images
back = pygame.image.load("resources/image/Back.png")

print "Loaded graphics 100%"


while 1:



    #clear to reload
    screen.fill(0)

    #drawing background
    screen.blit(back, background )

    #update
    pygame.display.flip()

这可能是一个新手问题,但我才刚刚开始所以是的...

在pygame中你需要使用你写的这段代码。

#clear to reload
screen.fill(0)

#drawing background
screen.blit(back, background )

#update
pygame.display.flip()

如果你在屏幕上添加一个玩家然后移动他。您会注意到,除非您重新绘制背景,否则您会不止一次看到该字符。

Pygame 不只是让您将图像添加到屏幕并四处移动,您必须重绘背景以摆脱前一帧。

您应该在代码中添加的另一件事是等待。

clock = pygame.time.Clock()
FPS = 30

while 1:
    clock.tick(FPS)

这将设置帧速率。我想说的是,您通常需要 30 - 60 帧,具体取决于游戏/硬件。

您当前的程序可能会重绘框架数百次,因此这肯定会增加延迟。

当我在我的电脑上检查这个时 Ubuntu 12.04 没有背景。即黑屏。

我的帧率在 1000 - 2000 FPS.

之间