Simples Grafikprogramm läuft nicht!

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Pacman
User
Beiträge: 3
Registriert: Donnerstag 7. April 2011, 19:07

Hallo Comunity!
Ich fass mich kurz:
folgendes Programm läuft nicht:

Code: Alles auswählen

import pygame, sys, random
class MyBall(pygame.sprite.Sprite):
    

    def __init__(self, bild_datei, ort, geschwindigkeit):
        
        pygame.sprite.Sprite.__init__(self)
        self.image = pygame.image.load(bild_datei)
        self.rect = self.image.get_rect()
        self.rect.left, self.rect.top = ort
        self.geschwindigkeit = geschwindigkeit
       
    def bewegen(self):
        self.rect = self.rect.move(self.geschwindigkeit)
        if self.rect.left < 0 or self.rect.right > breite:
            self.geschwindigkeit[0] = -self.geschwindigkeit[0]
        if self.rect.top < 0 or self.rect.bottom > hoehe:
            self.geschwindigkeit[1] = -self.geschwindigkeit[1]
    Pacman= MyBall(self, bild_datei, ort, geschwindigkeit)         
#Beginn des Hauptprogramms
Pacman= MyBall()
groesse = breite, hoehe = 1000, 750
screen = pygame.display.set_mode(groesse)
screen.fill([0, 190, 125])
bild_datei = "pacman.png"
baelle =[]
for zeile in range(0, 3):
    for spalte in range(0, 3):
        ort = [spalte * 180 + 10, zeile * 180 +10]
        geschwindigkeit = [random.choice([-2, 2]), random.choice([-2, 2])]
        baelle.append(Pacman)
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:sys.exit()
    pygame.time.delay(20)
    screen.fill([0, 190, 125])
    for ball in baelle:
        ball.bewegen( Pacman)
        screen.blit(ball.image, ball.rect)
    pygame.display.flip()
Ich hoffe auf Hilfe, Pygame behauptet, "Pacman sei keine Instanz der Klasse...
BlackJack

@Pacman: Doch es läuft -- bis eine `NameError`-Ausnahme ausgelöst wird.
deets

Ich fasse mich ebenfalls kurz: was laeuft nicht? Bitte gib eine Fehlermeldung an, wenn du sowas postest!

Ein paar Sachen sind aber schonmal zu sehen:

- du instantiierst MyBall ohne die notwendigen Argumente
- baelle enthaelt mehrfach denselben Pacman, aber du willst wahrscheinlich neue MyBall
Antworten