Ich habe eine Tonne von irrelevanten Code, so dass ich werde versuchen, nur die wichtigen Bits zu überspringen, nachdem die unwichtigen tidbits Kommentierung aus, mit denen ich links:Argument 1 muss pygame.Surface, nicht
import pygame
from pygame.locals import *
from characters import Character
class Game(object):
def __init__(self):
self.__running = True
self.__display = None
self.size = self.width, self.height = 640, 480
def on_init(self):
pygame.init()
self.clock = pygame.time.Clock()
self.__display = pygame.display.set_mode(self.size, pygame.HWSURFACE |
pygame.DOUBLEBUF)
pygame.mouse.set_visible(False)
self.hero = Character()
self.hrgrp = pygame.sprite.Group(self.hero)
self.__running = True
def on_render(self):
self.hrgrp.draw(self.__display)
pygame.display.update()
def on_cleanup(self):
pygame.quit()
def on_execute(self):
if self.on_init() == False:
self.__running = False
while(self.__running):
self.on_render()
self.on_cleanup()
if __name__ = "__main__":
game = Game()
game.on_execute()
Wenn Sie sich fragen:
self.hero = Character()
enthält nur
Class Character(pygame.sprite.Sprite):
def __init__(self):
pygame.image.load("path.png")
self.rect = self.sprite.get_rect()
Der Fehler zurückgegeben:
File "/home/thegilberts/Documents/Python/game/game/game.py", line 70, in on_render
self.hrgrp.draw(self.__display)
File "/usr/local/lib/python3.5/dist-packages/pygame-1.9.4.dev0-py3.5-linux-x86_64.egg/pygame/sprite.py", line 475, in draw
self.spritedict[spr] = surface_blit(spr.image, spr.rect)
TypeError: argument 1 must be pygame.Surface, not str
Ich habe keine Ahnung warum. Es ist definitiv eine Oberfläche, keine Schnur. In der Tat benutze ich selbst .__ Anzeige an vielen anderen Orten, um Menüs und Dinge zu erstellen, aber es lässt mich einfach nicht diese Sprite-Gruppe zeichnen.
Sie haben hier ein bisschen zu viel ausgeschnitten. * Was * gibt diesen Fehler zurück? Bitte zeigen Sie den vollständigen Traceback an. –
Ich habe es aktualisiert, sorry. Ich dachte, ich hätte den ganzen Fehler kopiert. Im Wesentlichen Modul> on_execute> on_render> self.hrgrp.draw (self .__ display) –