Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 做游戏,我可以';t导入背景图像或精灵_Python_Image_Background_Insert_Pygame - Fatal编程技术网

Python 做游戏,我可以';t导入背景图像或精灵

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

我是一个新的程序员,试图制作一个平板战斗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()

我认为您正在将列表放入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()