Python 做游戏,我可以';t导入背景图像或精灵
我是一个新的程序员,试图制作一个平板战斗2D滚动游戏,我已经创建了我的背景和一个角色精灵,但是我试图Python 做游戏,我可以';t导入背景图像或精灵,python,image,background,insert,pygame,Python,Image,Background,Insert,Pygame,我是一个新的程序员,试图制作一个平板战斗2D滚动游戏,我已经创建了我的背景和一个角色精灵,但是我试图blit将它们写入我的代码中,但是我得到了一个错误的说法 第一个参数必须是pygame.Surface() 当我这么做的时候,它就会告诉我 ValueError:大小需要为(整数宽度、整数高度) 我已经看了很多关于这方面的问题,尝试了很多方法,但都没有效果。请帮忙 import pygame pygame.init() global X, Y, gameBackground bg = [pyga
blit
将它们写入我的代码中,但是我得到了一个错误的说法
第一个参数必须是pygame.Surface()
当我这么做的时候,它就会告诉我
ValueError:大小需要为(整数宽度、整数高度)
我已经看了很多关于这方面的问题,尝试了很多方法,但都没有效果。请帮忙
import pygame
pygame.init()
global X, Y, gameBackground
bg = [pygame.image.load("pygame/gameBackground.png")]
char = [pygame.image.load("pygame/characterStandingRight.png")]
#I have my .png files in a folder named "pygame" inside of my general program folder
windowWidth = 1366
windowHeight = 697
Width = 40
Height = 64
X = 5
Y = windowHeight - (Height + 5)
tick = 30
run = True
def redrawGameWindow():
window.blit(pygame.Surface(bg), (0, 0)) #draws Window Background
window.blit(pygame.Surface(char), (X, Y)) #draws Character Sprite
pygame.display.update()
#above is where I have my errors of "pygame.Surface" and "(int width, int height)"
window = pygame.display.set_mode((windowWidth, windowHeight))
pygame.display.set_caption("Game")
while run:
pygame.time.delay(tick)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
#other game code which controls character movement functions
redrawGameWindow()
pygame.quit()
quit()
我认为您正在将列表放入blit,这会产生一个错误。应该是:
window.blit(bg[0], (0, 0)) #draws Window Background
该错误是由
pygame.Surface(bg)
分别bygame.Surface(char)
引起的,其中bg
和char
是对象列表。没有由另一个曲面或甚至曲面对象列表生成的构造函数
请注意,您有一个背景列表和一个角色列表
bg=[pygame.image.load(“pygame/gameBackground.png”)]
char=[pygame.image.load(“pygame/characterStandingRight.png”)]
要访问列表中的对象,必须使用索引运算符(例如char[0]
)bg[0]
和char[0]
是对象,可以直接在方法中使用。e、 g:
def重画游戏窗口():
blit(bg[0],(0,0))
blit(字符[0],(X,Y))
pygame.display.update()
如果您只需要一张单张,则必须跳过
方括号
(例如bg=pygame.image.load(“pygame/gameBackground.png”)
)
bg=pygame.image.load(“pygame/gameBackground.png”)
char=pygame.image.load(“pygame/characterStandingRight.png”)
def redrawGameWindow():
window.blit(bg, (0, 0))
window.blit(char, (X, Y))
pygame.display.update()