如何载入一张以 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
.
之间
我正在 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
.