Seite 1 von 1

Jump'n'Run mit TKinter

Verfasst: Dienstag 23. März 2010, 20:13
von Twitch
Also...

Wir müssen für Informatik ein Programm mit dem Schwerpunkt TKinter erstellen. Da wir gerade erst mit OOP angefangen haben und bei einem 1vs1-player fight Spiel sich ebendiese Art der Programmierung anbietet, haben wir uns dafür entschieden unser Spiel objektorientiert zu programmieren (kann man das so sagen? xD).

Naja...
Da gibt es zum einen die Möglichkeit, dass die Spielfiguren auf Knopfdruck reagieren, aber dabei stockt die bewegung immer, wenn man zum Beispiel die Richtung ändert, also wollten wir in nem neuen Thread eine zählschleife einbauen, die praktisch prüft, was grad gedrückt ist und jenachdem reagiert, weil wir uns dachten, dass es dann nicht so stocken müsste wie bei Variante 1.

So...
Also diese Schleife funktioniert irgendwie nicht...
Runtime error, bevor die Funktion im neuen Thread überhaupt ein einziges mal was gemacht hat...

Wieso ist das so?
Wie kann ich das beheben?
Oder eine noch viiiiiel bessere Frage:
Wie kann man das noch praktischer umsetzen, dass es nicht stockt? (ich hoffe, das geht überhaupt...)


Hier ist das Spiel, an dem wir gerade arbeiten (+ 6 Bilddateien):
http://www.repage7.de/memberdata/dfslas ... jas.py.txt (Ansicht)
http://www.file-upload.net/download-237 ... (Download)


Und hier ein Testprogramm, wo es stockt (Variante 1)
http://www.file-upload.net/download-237 ... t.rar.html




Vielen Dank schonmal im Voraus
~Twitchy

Re: Jump'n'Run mit TKinter

Verfasst: Dienstag 23. März 2010, 21:04
von cofi
Twitch hat geschrieben:Also diese Schleife funktioniert irgendwie nicht...
Runtime error, bevor die Funktion im neuen Thread überhaupt ein einziges mal was gemacht hat...
Na klingt ja super ...
Gelesen hast du die Fehlermeldung nicht zufaellig ...
Die sind meist hilfreich.
Und wenn du damit nichts anfangen kannst, dann poste sie wenigstens.

Code in Zukunft bitte auf code.pocoo.org (oder in einer anderen Pastebin mit Syntaxhighlighting).

Verfasst: Dienstag 23. März 2010, 21:21
von Twitch
Tja, das ist ja das eigentliche Problem: Die Fehlererkennung, weil die Shell gibt mir gar keine Fehlermeldung aus, stattdessen kommt die ach-so-bekannte "terminated runtime in an unusual way"-Windows-Meldung.

Ich dachte, dass es vielleicht daran liegt, dass es ne Endlosschleife ist, aber mit dem timer müsste das doch eigentlich gelöst sein...

Und dazu kommt noch, dass ich nur das Widget + canvas bekomme (die Klasse "Battleground" funktioniert also noch), aber von der Zählschleife im neuen thread krieg ich nichtmal EIN einziges Bild...

Verfasst: Dienstag 23. März 2010, 21:22
von BlackJack
@Twitch: Vergiss in diesem Zusammenhang am besten das es Threads gibt. Das wird mit GUIs in dieser Art nicht funtkionieren, weil man die GUI immer nur von dem Thread aus verändern darf, in dem die `mainloop()` läuft.

Für Aktionen die Regelmässig passieren sollen, ohne das Interaktion vom Benutzer erfolgt, ist bei `Tkinter` die `after()`-Methode auf Widgets zuständig.

Die Sternchenimporte solltest Du auch sein lassen. Ebenso wie die trivialen Getter- und Setter-Methoden.

Verfasst: Dienstag 23. März 2010, 21:25
von Twitch
Danke, die after()-methode schau ich mir mal genauer an.

Wie ihr sehen könnt, ist das sowieso erst ein Prototyp im frühen Anfangsstadium. Was ich nachher nicht brauche kommt eh weg. ^^



Vielen Dank für den Tipp.
~Twitchy

Verfasst: Mittwoch 24. März 2010, 16:41
von wuf
Hallo Twitch

Hier etwas zum herumspielen:
Battleground-Animation

Gruß wuf :wink:

Verfasst: Freitag 26. März 2010, 16:45
von Twitch
Danke für die Hilfsbereitschaft. ^^

Verfasst: Montag 29. März 2010, 10:14
von mkesper
Verstehe nicht, was hier der Sarkasmus soll.

Verfasst: Montag 29. März 2010, 10:29
von wuf
Hallo mkesper
mkesper hat geschrieben:Verstehe nicht, was hier der Sarkasmus soll.
Verstehe absolut nicht was du hiermit meinst? Der Groschen fällt nicht.

Gruss wuf :wink:

Verfasst: Montag 29. März 2010, 12:40
von mkesper
Twitch hat geschrieben:Danke für die Hilfsbereitschaft. ^^
Die ^^ meine ich.

Verfasst: Montag 29. März 2010, 12:47
von wuf
Hallo mkesper

Danke. Sorry habe es ich nicht so interpretiert.

Gruß wuf :wink:

Verfasst: Montag 29. März 2010, 13:02
von BlackJack
Ich auch nicht. Seit wann steht ^^ für Sarkasmus und nicht für einen einfachen "Smiley"!?

Verfasst: Montag 29. März 2010, 14:13
von mkesper
OK, ist halt alles nicht eindeutig... Sorry! :)