Geschichte: Leistung nicht verstehen, was mit meinem Code falsch ist, zum ersten Mal eine Klasse verwenden, um eine Figur zu erstellen.Pygame: malen eine Klasse Polygon aus einem anderen Modul
Ich habe ein Modul, in dem die Polygon-Klasse in den folgenden Code hat:
import pygame
class Polygon:
def __init__(self,):
self.list_puntos = [(200, 30), (250, 80), (225, 130), (175, 130),(150 ,80)]
self.image = pygame.Surface((32, 36))
self.image.fill((255, 255, 255))
def draw(self):
self.pygame.draw.polygon(self.image, (255, 0, 255), self.list_puntos)
def cursors(self):
pass
Ich habe einen Kernel mit dem folgenden Code:
import sys
import pygame
from Objects import Polygon
call_polygon = Polygon
class Kernel:
def __init__(self):
pygame.init()
self.screen_size = (800, 600)
self.bg_color = (120, 120, 250)
self.fps = 60
self.screen = pygame.display.set_mode(self.screen_size)
self.clock = pygame.time.Clock()
def handle_input(self):
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
def update(self):
capition = "Music Art - FPS: {:.2f}".format(self.clock.get_fps())
pygame.display.set_caption(capition)
def render(self):
self.screen.fill(self.bg_color)
def main_loop(self):
while True:
self.handle_input()
self.update()
self.render()
call_polygon.draw()
"""TypeError: unbound method draw() must be called with Polygon instance as first argument (got nothing instead)"""
pygame.display.flip()
self.clock.tick(self.fps)
if __name__ == '__main__':
Module_game = Kernel()
Module_game.main_loop()
Thank Männer! Jetzt sehe ich den Fehler. –