2017-06-19 3 views
0

ich versuche ein kleines spielprojekt mit pygame zu machen, bevor ich ein größeres projekt betrete, ein teil davon ist eine einstellungsdatei mit einem textdokument, bis jetzt habe ich die textdatei aufgeteilt, aber ich muss sie trotzdem verschieben in den pygame Bildschirm Code (dies ist die Auflösung für die Änderung)Wie würde ich eine Einstellungsdatei aus einem Textdokument erstellen?

import pygame 
import time 
import random 

pygame.init() 
settings = open("settings.txt","r") 
Bsettings = settings.read().split(",") 
print (Bsettings) 
Display = pygame.display.set_mode((Bsettings)) 
pygame.display.set_caption("BT") 

clock = pygame.time.Clock() 

Jede Hilfe wäre

Antwort

1

klar sein, ich bin nicht sicher, ob ich das Problem vollständig zu verstehen. Zur Konfiguration werden jedoch häufig Dateien JSON und YAML verwendet. Und es gibt Bibliotheken da draußen (JSON ist in der Standard-Bibliothek), um diese Dateien zu analysieren.

YAML und JSON sind Textdateien mit bestimmten Formaten.

Wenn Sie einen Text in Ihrem Spiel angezeigt werden wollte, die in einer Konfigurationsdatei gespeichert wird, können Sie etwas tun:

Erstellen Sie eine Konfigurationsdatei ‚config.json‘ (Ich werde eine JSON verwenden Datei in diesem Beispiel)

{ 
    "stage_one_text": "Welcome to Stage one", 
    "boss_line": "I kick ass" 
} 

laden sie die Konfigurationsdatei aus Ihrem Programm und nutzt es

import json 

with open('config.json') as config_file: 
    CONFIG = json.load(config_file) 

print(CONFIG['boss_line']) 
+0

ich tat dies, und es scheint zu funktionieren, aber ich habe dieses Problem auf dem pygame Ende von Sachen : Display = pygame.display.set_mode ((CONFIG [ 'screen_resolution'])) Typeerror: muss Sequenz der Länge 2, 7 nicht Aus einer JSON-Datei, die diese hat: { „screen_resolution ":" 800.600 " } –

+0

@CharlieK' len ("800,600") 'ist 7. Wollten Sie' 'screen_resolution" verwenden: [800,600] '? –

+0

Das hat es behoben - danke, habe nicht realisiert, dass du eckige Klammern verwenden könntest anstatt "" oder "" –

Verwandte Themen