做游戏时,我无法导入背景图片或精灵

安东尼·H

我是一名新程序员,试图制作一款与平台游戏对战的2D滚动游戏,并且已经创建了背景和角色精灵,但是我正在尝试将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()
拉比德76

该错误pygame.Surface(bg)分别是由引起的bygame.Surface(char),其中bgchar是对象列表。没有pygame.Surface另一个Surface甚至一个Surface对象列表的构造函数

请注意,您有一个背景列表和一个字符列表

bg   = [ pygame.image.load("pygame/gameBackground.png") ]
char = [ pygame.image.load("pygame/characterStandingRight.png") ]

要访问列表中的对象,您必须使用索引运算符(例如char[0])。bg[0]char[0]pygame.Surface对象,可以直接在方法中使用blit()例如:

def redrawGameWindow():
    window.blit(bg[0], (0, 0))
    window.blit(char[0], (X, Y))
    pygame.display.update()

如果只需要一个pygame.Surface,则必须跳过square brackets(例如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()

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章