Problem mit Image unter Pygame

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
BlackJack

Samstag 15. September 2007, 13:04

Sie werden *lokal* in der Funktion definiert und einige *Objekte*, nicht *Namen*, werden zurückgegeben. Mit diesen Objekten wird auf Modulebene beim Aufruf der Funktion aber nichts gemacht, die werden also einfach verworfen.
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Samstag 15. September 2007, 14:22

Also muss ich sie als global vereinbaren, oder?
BlackJack

Samstag 15. September 2007, 14:54

Musst Du nicht und solltest Du auch nicht. Globale Namen machen Programme schnell unübersichtlich. Der sauberere Weg ist es die zurückgegebenen Objekte an Namen zu binden.
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Samstag 15. September 2007, 18:13

ich habs jetzt so umgeändert, aber das eigentliche Problem löst das nicht:

Code: Alles auswählen

import pygame
import os, sys
from pygame.locals import*
pygame.init()
Soeldner = pygame.image.load('Söldner.jpg')
Spos = Soeldner.get_rect()
Kunst = pygame.image.load('Kunst.jpg')
Kpos = Kunst.get_rect()
Deckung = pygame.image.load('Deckung.jpg')
Dpos = Deckung.get_rect()
Lifeball = pygame.image.load('Lifeball.jpg')
Lpos = Lifeball.get_rect()
def getgraphik():
        Soeldner = 4
        Deckung = 3
        Kunst = 2
        Lifeball = 1
        level = [4321]
        return [level]

    

black = 0, 0, 0
size = width, height = 800, 400
screen = pygame.display.set_mode(size)
while True:
    for event in pygame.event.get():
        if event.type == KEYDOWN:
            if event.key == K_UP:
                x = 1
                while x == 1:
                    Spos = Spos.move (0, -2)
                    if event.type == KEYUP and event.key == K_UP:
                        x = 0
screen.fill(black)
getgraphik()
screen.blit (Soeldner, Spos, Deckung, Dpos, Kunst, Kpos, Lifeball, Lpos, level)
pygame.display.flip()
BlackJack

Samstag 15. September 2007, 18:38

Preisfrage:

Code: Alles auswählen

while True:
    print '...'
print 'Hallo'
Warum wird nie Hallo ausgegeben?
Imperator
User
Beiträge: 275
Registriert: Montag 20. August 2007, 14:43
Kontaktdaten:

Sonntag 16. September 2007, 11:23

Wenn du mir jetzt noch sagen kannst, wie man Pygame.Surface macht, dürfte es endlich laufen ... hoffe ich. :(
Antworten