PYGame Mainmenu?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
philistion
User
Beiträge: 108
Registriert: Sonntag 7. Februar 2010, 14:16

Da schreibt dir jemand eh schon ein auf dein Problem zugeschnittenes Beispielprogramm, lädt es auf Bitbucket rauf und du verlangst ne Rar-Datei?

Bitte lies erstmal das: http://tutorial.pocoo.org/

Und dann geht's hier weiter: http://www.pygame.org/docs/
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

der erste link sieht versprengend aus.

mit dem zweiten, beschäftige ich mich schon tagelang. ;)
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Mr.Wolna hat geschrieben:der erste link sieht versprengend aus.
BUMM!
Mr.Wolna hat geschrieben:mit dem zweiten, beschäftige ich mich schon tagelang. ;)
Es nützt dir nur nichts wenn du versuchst Spezialwissen zu erlangen wenn dir Grundwissen fehlt. Fang mit dem allgemeinen Python-Tutorial an.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

philistion hat geschrieben:Da schreibt dir jemand eh schon ein auf dein Problem zugeschnittenes Beispielprogramm, lädt es auf Bitbucket rauf und du verlangst ne Rar-Datei?
Hehe, naja, zu seiner "Eherenrettung" muss man sagen, dass Mercurial ja nicht jedermans Sache ist. Dennoch würde ich wenn nur ein zip oder bzip2 codiertes Tar-Archiv irgend wo anbieten und kein rar. Ich hasse rar und: es ist imho obsolet :-)
Mr.Wolna hat geschrieben:um , mehrere scripte?
Nee, mehrere Dateien. Die menu.py ist eher als reine Lib anzusehen, da sie nicht mal eine "main"-Funktion besitzt. Theoretisch hätte ich die Testroutine auch da rein posten können - aber dann würde der kleine Trick mit den Callbacks nicht funzen (zumindest habe ich keine Idee, wie ich das innerhalb eines Moduls hinbekommen könnte).
Mr.Wolna hat geschrieben: edir: hm. habs grade angeschaut. Alles viel zu schwer. WEnn ich schon das aller simpelste nicht hinkrieg, dann das sicherlich nicht. Aber ich mach mir Mühe, das zu verstehen.
Hm... ja, ist vom Code schon sehr groß geworden. Allerdings ist das Kernkonzept nicht so unterschiedlich zu meiner ersten Intention: Man muss sich eine geeignete Datenstruktur für das Menü und seine Einträge ausdenken. Ich habe mich für die Kombi aus Klasse (Menü) und Dictionary (Menüitems) entschieden.

Zusätzlich hat es mich dann ein wenig "gepackt" und ich dachte, mensch, lagere doch die Menüinfos in eine Datei aus (JSON-Format), damit das ganze noch dynamischer wird. Somit kannst Du für Dein Spiel sehr einfach Menüs erstellen, ohne auch nur eine zeile Python-Code erstellen zu müssen (von den Funktionen, die durch eine Auswahl aufgerufen werden sollen mal abgesehen). Als letztes habe ich eben noch ermöglicht, dass man in der Menüdefinition schon auf eine Funktion in einem Modul verweisen kann und diese Funktion als Objekt bei der Auswahl eines Items übergeben bekommt. Das kann man natürlich auch weglassen und dieses Mapping selber in seinem Script definieren.

Da ist noch viel Luft zum Optimieren drin (alleine die Doku ist noch erbärmlich ;-) ), aber generell zeigt mein Beispiel imho schon einige nette Ideen und Konzepte in Python:

- Dictionaries
- Listen
- Persitenz (Ablegen von Daten) per JSON
- "alles ist ein Objekt" (Aufurf von action() in demo.py)

Nuja, schon ziemlich viel drin, das man auch hätte anders lösen können. Aber das ist bei komplexeren Problemen ja fast immer so :-)

Aber mittlerweile hast Du ja selber eingesehen, dass Du erst einmal die Grundlagen kapieren musst :-)
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Ja, bin kräftig an Tuts anschauen/lesen.

Wir werden sehen wie weit ich komme. :lol:

Jedenfalls danke ich dich für dein Engagement, ich werde hoffentlich wieder darauf zugreifen klönen, wenn ich die Struktur und Mechanik dahinter nachvollziehen kann. Momentan ist es für mich so, als ob ich mongolisch lesen würde. *lacht*

MfG
Antworten