Как вы заставляете спрайт появляться в pygame / python? - PullRequest
1 голос
/ 08 января 2012

Я пытаюсь сделать простую (в стиле Марио) игру, но мой спрайт (сантехник) не появляется, он может быть скрыт за фоном? я не совсем уверен, я тоже не получаю никаких ошибок.

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

1 Ответ

4 голосов
/ 08 января 2012

Первая найденная проблема заключается в том, что вы должны изменить

pygame.image.load(Mario_sideways_sprite_2xL.png)

с чем-то вроде.

pygame.image.load("Mario_sideways_sprite_2xL.png")

Помимо этого, в коде много проблем, которые мешают ему работать. Например,

  • вы не создаете экземпляр своего класса сантехника .
  • class plumber(sprite) должно быть plumber(Sprite) (еще лучше Plumber(Sprite))

Вам нужно что-то вроде:

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

Здесь вы можете увидеть основные части простой программы, подобной вашей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...