An dem von mir hier vorgestellten Pygame-Grundgerüst hatte mich noch der Wildcard-Import from settings import *
gestört. Daher habe ich das Teil so geändert, daß die Datei settings.py
nun eine Klasse Settings()
enthält. Die Datei sieht also nun so aus:
# Konstanten und Einstellungen für das Spiel import pygame as pg class Settings(): def __init__(self): # Einige nützliche Konstanten self.TITLE = "🐍 Hällo Pygäme! 🐍" self.WIDTH = 640 self.HEIGHT = 480 self.FPS = 60 # Framerate # Nützliche Farbdefinitionen self.WHITE = (255, 255, 255) self.BLACK = (0, 0, 0) self.RED = (255, 0, 0) self.GREEN = (0, 255, 0) self.BLUE = (0, 0, 255) self.YELLOW = (255, 255, 0) self.GREY = (160, 160, 160)
Natürlich muß man nun im Hauptprogramm die Klasse importieren:
from settings import Settings
Damit ist der Wildcard-Import verschwunden, aber natürlich muß nun expliziert eine Instanz der Klasse erzeugt werden. Das geschieht am Besten vor der eigentlichen Hauptschleife und bevor die Klasse World()
instanziert wird.
s = Settings()
w = World()
w.splash_screen()
while w.keep_going:
w.new()
w.game_over()
Außerdem muß nun den Konstanten aus der Klasse Settings()
jeweils der Objektname in Punknotation vorangestellt werden, also zum Beispiel s.BLACK
, s.WIDTH
oder s.TITLE
. Aber dafür ist der Import nun sauber und es kann keine Namensraumverschmutzung mehr stattfinden.
Den Quellcode im Original-Beitrag habe ich entsprechend aktualisiert.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung