如何使精灵出现在pygame/python中?

如何使精灵出现在pygame/python中?,python,pygame,Python,Pygame,我试图制作一个基本的(马里奥风格)游戏,但我的精灵(水管工)没有出现,它可能隐藏在背景后面?我不是很确定,我也没有得到任何错误 import pygame import sys import itertools import pygame from pygame.sprite import Sprite cloud_background = pygame.image.load('clouds.bmp') brick_tile = pygame.image.load('brick_tile.pn

我试图制作一个基本的(马里奥风格)游戏,但我的精灵(水管工)没有出现,它可能隐藏在背景后面?我不是很确定,我也没有得到任何错误

import pygame
import sys
import itertools
import pygame
from pygame.sprite import Sprite

cloud_background = pygame.image.load('clouds.bmp')
brick_tile = pygame.image.load('brick_tile.png')

pink = (255, 64, 64)
w = 640
h = 480
screen = pygame.display.set_mode((w, h))
running = 1

def setup_background():
    screen.fill((pink))
    screen.blit(cloud_background,(0,0))
    brick_width, brick_height = brick_tile.get_width(), brick_tile.get_height()
    for x,y in itertools.product(range(0,640,brick_width),
                                 range(390,480,brick_height)):
        # print(x,y)
        screen.blit(brick_tile, (x, y))
    pygame.display.flip()

while running:
    setup_background()    
    event = pygame.event.poll()
    if event.type == pygame.QUIT: sys.exit()

class plumber(sprite):
    def __init__(   
        self, screen, img_filename, init_position, 
        init_direction, speed):

        Sprite.__init__(self)

        self.screen = screen
        self.speed = speed

        self.base_image = pygame.image.load(Mario_sideways_sprite_2xL.png).convert_alpha()
        self.image = self.base_image


        self.pos = 50,50

发现的第一个问题是您必须修改

pygame.image.load(Mario_sideways_sprite_2xL.png)
有点像

pygame.image.load("Mario_sideways_sprite_2xL.png")
除此之外,代码还有许多问题阻碍了它的工作。比如说,

  • 您没有实例化水管工类
  • 管道工(雪碧)
    应该是
    管道工(雪碧)
    (更好的是
    管道工(雪碧)
你需要像这样的东西:

myplumber = Plumber()
allsprites = pygame.sprite.RenderPlain((myplumber, ....))
clock = pygame.time.Clock()

您可以看到像您这样的简单程序的主要部分。

发现的第一个问题是您必须修改

pygame.image.load(Mario_sideways_sprite_2xL.png)
有点像

pygame.image.load("Mario_sideways_sprite_2xL.png")
除此之外,代码还有许多问题阻碍了它的工作。比如说,

  • 您没有实例化水管工类
  • 管道工(雪碧)
    应该是
    管道工(雪碧)
    (更好的是
    管道工(雪碧)
你需要像这样的东西:

myplumber = Plumber()
allsprites = pygame.sprite.RenderPlain((myplumber, ....))
clock = pygame.time.Clock()

你可以看到像你这样的简单程序的主要部分。

我没有说这是唯一的一个,但这表明代码不是从运行中的代码剪切粘贴而来的,因此可能会有更多的惊喜。我尝试了你知道的解决方案。水管工的形象仍然没有出现。它会被困在云层后面吗(背景图像)?@enrique2334我的解决方案是让你检查教程,并尝试调整你的规格以适应标准布局。你的代码中有比我在回答中指出的问题更多的问题,我不知道你的代码看起来是什么样子。请检查教程,相应地重新编写,如果您仍然需要它,请带着刷新的代码返回。我没有说这是唯一的一个,但这表明代码不是从运行代码的剪切和粘贴中获得的,因此可能会有更多惊喜。我尝试了您已知的解决方案。水管工的形象仍然没有出现。它会被困在云层后面吗(背景图像)?@enrique2334我的解决方案是让你检查教程,并尝试调整你的规格以适应标准布局。你的代码中有比我在回答中指出的问题更多的问题,我不知道你的代码看起来是什么样子。请检查教程,相应地重写,如果您仍然需要它,请返回一个刷新的代码。是的,我可以看到背景和砖块图像。程序正在运行,只是水管工没有出现。对不起,是指云层。我看不见他们。我确实看到了砖块是的,我确实看到了云,只是水暖工的精灵没有出现是的,我可以看到背景和砖块图像。程序正在运行,只是水管工没有出现。对不起,是指云层。我看不见他们。我确实看到了砖块是的,我确实看到了云朵,只是水暖工的精灵没有出现