我在游戏中制作格斗游戏,但每当我加载背景(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()
这可能是一个新手问题,但我刚开始,所以是的......
答案 0 :(得分:0)
在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
之间。