PyGame: Suche Hilfe und Tips

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
BlackJack

Leonidas hat geschrieben:BlackJack: Toll, darauf wäre ich nicht gekommen, Respekt!
Nur durch lesen der Doku bin ich nicht darauf gekommen -- ich hatte das Problem selbst mal mit einem Program. Das hatte zwar einen Aufruf von `pygame.quit()`, der wurde aber nicht immer ausgeführt (if-Abfragen etwas blöd verschachtelt).
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Weis Jemand, was der eigentliche Sinn von:

Code: Alles auswählen

pygame.init()
und

Code: Alles auswählen

from pygame.locals import *
ist?

Danke im vorraus.
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erwin hat geschrieben:Weis Jemand, was der eigentliche Sinn von:

Code: Alles auswählen

pygame.init()
pygame-doc | leonidas-übersetzung hat geschrieben:pygame.init() -> gelungen, mißlungen

Initialisiere alle importierten pygame Module. Einschließlich pygame Modulen, die nicht zeil der Basismodule sein (wie Schrift und Bilder).

Es wirft keine Ausnahmen, sondern zählt stattdessen still die Module auf, die nicht initialisiert werden konnten. Der Rückgabewert enthält die nicht initialisieren Module und ihre Anzahl.

Du kannst immer Module die dur brauchst per-Hand initialisieren. Die Module die Initialisierung benötigen haben immer eine init() und quit() Methode eingebaut, die du direkt aufrufen kannst. Sie haben auch eine get_init() Funktion, die du zum doppelten Prüfen der Initialisierung nutzen kannst. Angemerkt sei, dass die manuellen init() Methoden bei Fehlern eine Ausnahme werfen. Auf den meisten Platformen muss das Display-Modul vor den anderem Modulen initialisiert werden. Dieses init() wird es für dich erledigen, jedoch wenn du es per Hand machen willst solltest du dir dieser Beschränkung bewusst sein.

Wie auch mit den Manuellen init() Funktionen ist es auch problemlos möglich dieses init() so oft wie du willst aufzurufen.
Der letzte Absatz in der Doku ist Schrott, deswegen habe ich ihn umgebaut. Für die Übersetzung lege ich keine Hand und auch keine Füße ins Feuer, es ist fast schon ein Uhr, da darf mein Englisch sich schon eine Auszeit genehmigen.
Erwin hat geschrieben:und

Code: Alles auswählen

from pygame.locals import *
ist?
Das importiert aus pygame.locals alle Konstanten, wie QUIT oder K_SPACE, insgesammt 224 Namen (pygame 1.6 unter Windows auf Python 2.4).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Also so ganz komme ich mit dem init() immer noch nicht mit.
Soll das etwa heißen, das manche Dinge eben extra aufgerufen werden müssen, wie zb. bei Tkinter das erstellen eines Buttons mittels '.place', was bei PyGame aber halt 'init()' heißt, und ich mit dem allgemeinen Befehl mir das jeweilige xx.init() ersparen kann?

Und was dem Local betrifft ... Konstanten?
In wie fern sind die den wichtig?
Braucht man die überhaupt?
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erwin hat geschrieben:Also so ganz komme ich mit dem init() immer noch nicht mit.
Soll das etwa heißen, das manche Dinge eben extra aufgerufen werden müssen, wie zb. bei Tkinter das erstellen eines Buttons mittels '.place', was bei PyGame aber halt 'init()' heißt, und ich mit dem allgemeinen Befehl mir das jeweilige xx.init() ersparen kann?
Der Vergleich mit Tkinter hinkt.. gewaltig. Muss man bei einem Segelschiff die Kupplung betätigen, wenn man den Gang wechseln will? Nein, denn eine Jacht hat weder eine Kupplung noch eine Gangschaltung. Es ist einfach so: bevor due Pygame startest, muss es sich sozusagen.. vorbereiten. Und init() sagt pygame: "bereite dich vor". Danach macht pygame sozusagen einen Systemcheck, prüft ob Flügel dran sind, genügend Sprit und sagt dann: "Ja, alles ok", oder aber "Ja, aber der Autpilot ist ausgefallen" (letzteres ist mir noch nie passiert, dass pygame Probleme hatte). Und aufrufen musst du init() nur einmal, obwohl du auch von Hand alles nochmal nachprüfen kannst was du zwar kannst, aber nicht musst.
Erwin hat geschrieben:Und was dem Local betrifft ... Konstanten?
In wie fern sind die den wichtig?
Braucht man die überhaupt?
Nein, du kannst auch ohne diese Konstanten auskommen, nehmen wir doch mal einen Ausschnitt aus dem Beispielprogramm und entfernen die Konstanten (d.h. wir setzen die Werte ein):

Code: Alles auswählen

    while True:
        for event in pygame.event.get():
            if event.type == 12:
                return

        screen.blit(background, (0, 0))
        pygame.display.flip() 
Also prüfen wir, ob die Art des Events gleich 12 ist. Warum 12? Was ist 12? Zwölf entspricht pygame.locals.QUIT. Das Programm funktioniert nun genauso, nur ist es nun schwieriger zu lesen. Ein weiterer Nachteil ist, wenn jetzt plötzlich die pygame-Entwickler entscheiden, in pygame 1.7 QUIT = 20 zu stellen, funktioniert dein Code nicht mehr, weil er annimmt das QUIT = 12 ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

init() ist also nichts anderes, als ein Befehl, mit dem also sich das Ganze vorbereitet und zugleich überprüft, ob es durchgeführt werden kann?
Leonidas hat geschrieben:

Code: Alles auswählen

    while True:
        for event in pygame.event.get():
            if event.type == 12:
                return

        screen.blit(background, (0, 0))
        pygame.display.flip() 
Also prüfen wir, ob die Art des Events gleich 12 ist. Warum 12? Was ist 12? Zwölf entspricht pygame.locals.QUIT. Das Programm funktioniert nun genauso, nur ist es nun schwieriger zu lesen. Ein weiterer Nachteil ist, wenn jetzt plötzlich die pygame-Entwickler entscheiden, in pygame 1.7 QUIT = 20 zu stellen, funktioniert dein Code nicht mehr, weil er annimmt das QUIT = 12 ist.
Also wenn ich die Localen Befehle nicht lade, muß ich es direkt, hier mit 12, das Ganze ansprechen?
Während mit den Locals kann ich die dafür vorgesehene Bezeichnung hernehmen?
Demzufolge ist es auch vermutlich praktischer, das ganez Local-Zeug zu verwenden?
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erwin hat geschrieben:init() ist also nichts anderes, als ein Befehl, mit dem also sich das Ganze vorbereitet und zugleich überprüft, ob es durchgeführt werden kann?
Ja, genau.
Erwin hat geschrieben:Also wenn ich die Localen Befehle nicht lade, muß ich es direkt, hier mit 12, das Ganze ansprechen?
Während mit den Locals kann ich die dafür vorgesehene Bezeichnung hernehmen?
Demzufolge ist es auch vermutlich praktischer, das ganez Local-Zeug zu verwenden?
Es sind nicht "Locale Befehle", sondern einfach Konstanten aus dem pygame.locals Namensraum. Das die pygame-Entwickler den Namensraum "locals" genannt haben, war einfach deren Entscheidung.
Ja, ohne die Konstanten musst du den Wert, also eben beispielsweise 12 verwenden.
Ich mache es dagegen meist so, dass ich import pygame.locals as pyl importiere und dann sowas wie pyl.QUIT nutze. (Zu dem Modul-Importen kannst du auch unter ModulImporte nachschlagen, wenn ich die Seite mal fertiggeschrieben habe).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Ich habe den Eindruck, daß ich das Ganze überhaupt nicht mehr packe.

Wolte jetzt einen Hintergrund darstellen:

Code: Alles auswählen

background = pygame.Surface(screen.get_size())
background = background.convert()
background.fill((250, 250, 250))
Aber wenn ich die Zahlen ändere, ist es immer noch Schwarz.

Und die Turitorals kann man total vergessen.
Da quält man sich durch das schlechte Deutsch (weil es halt vom Translator übersetzt wurde) und muß feststellen, daß die Hälte im Turitoral fehlt, weil der *zensiert* es wohl als selbstverständlich betrachtet, daß man die Hälfte weis. :evil:
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wo ist das Problem:

Code: Alles auswählen

#!/usr/bin/env python
# -*- encoding: latin-1 -*-

import pygame
import pygame.locals as pyl

def main():
    # Initialise screen
    pygame.init()
    screen = pygame.display.set_mode((150, 50))
    pygame.display.set_caption('Basic Pygame program')

    # Fill background
    background = pygame.Surface(screen.get_size())
    background = background.convert()
    background.fill((0, 0, 0))

    # Display some text
    font = pygame.font.Font(None, 36)
    text = font.render("Hello There", 1, (255, 255, 255))
    textpos = text.get_rect()
    textpos.centerx = background.get_rect().centerx
    background.blit(text, textpos)

    # Blit everything to the screen
    screen.blit(background, (0, 0))
    pygame.display.flip()

    # Event loop
    while True:
        for event in pygame.event.get():
            if event.type == pyl.QUIT:
                pygame.quit()
                return

        screen.blit(background, (0, 0))
        pygame.display.flip()

if __name__ == '__main__':
    main()
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Bei Deinem Code geht es.
Das kann ja heiter werden. Dann habe ich irgendwo eine Kleinigkeit ausgelassen.
Es ist fürchterlich. Nicht mal ein richtiges englisches Turitoral gibt es ... .
Ok, erst mal zusehen, ob ich zumindest alle Teile des Codes, der für den Hintergrund zuständig ist, zusammen bekomme.
Die 3 unter dem Hintergrund scheinen allein ja nicht auszureichen, zumindest bei meinen vorherigen Tests..


Edit: Kann den 'Fehler' leider nicht mehr wiederholen. Es scheint einfach auf einmal zu klappen. Vielleicht lag dieser auch innerhalb der Schleife?

Was bewirkten eigentlich diese Beiden Zeilen?
Weis das Jemand?

Code: Alles auswählen

# Blit everything to the screen
    screen.blit(background, (0, 0))
    pygame.display.flip()
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
ProgChild
User
Beiträge: 210
Registriert: Samstag 9. April 2005, 10:58
Kontaktdaten:

Erwin hat geschrieben: Was bewirkten eigentlich diese Beiden Zeilen?
Weis das Jemand?

Code: Alles auswählen

# Blit everything to the screen
    screen.blit(background, (0, 0))
    pygame.display.flip()
Dein Bild, dass du auf dem Bildschirm haben möchtest wird nicht direkt auf den Bildschirm gezeichnet, sondern in den Arbeitsspeicher, da das Bild sonst flackern und flimmern würde. Die zwei Befehle holen dann das Bild direkt auf den Bildschirm.
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

ProgChild hat geschrieben:
Erwin hat geschrieben: Was bewirkten eigentlich diese Beiden Zeilen?
Weis das Jemand?

Code: Alles auswählen

# Blit everything to the screen
    screen.blit(background, (0, 0))
    pygame.display.flip()
Dein Bild, dass du auf dem Bildschirm haben möchtest wird nicht direkt auf den Bildschirm gezeichnet, sondern in den Arbeitsspeicher, da das Bild sonst flackern und flimmern würde. Die zwei Befehle holen dann das Bild direkt auf den Bildschirm.
Achso ist das?
Jetzt komme ich langsam dahinter.

Und das erste zeichnet wohl in dem Fall den Hintergrund:
screen = der Name hatl, blit ? (= Befehl zum zeichnen/laden/erstellen?), dann um was es sich dabei handelt (background) und die Koordinaten, wo es eingefügt werden soll? Sehe ich das soweit alles richtig?

Während in der 2. Zeile dann das Bild dann auf dem Bildschirm erscheinen/aktualliesieren läßt?
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
BlackJack

Erwin hat geschrieben:Ich habe den Eindruck, daß ich das Ganze überhaupt nicht mehr packe.
Nicht nur Du.
Und die Turitorals kann man total vergessen.
Da quält man sich durch das schlechte Deutsch (weil es halt vom Translator übersetzt wurde) und muß feststellen, daß die Hälte im Turitoral fehlt, weil der *zensiert* es wohl als selbstverständlich betrachtet, daß man die Hälfte weis. :evil:
Die PyGame-Tutorials gehen davon aus, dass man Programmierung im allgemeinen und Python im besonderen schon kann. Damit solltest Du vielleicht mal anfangen. Es kann nicht zum Umfang eines Tutorials über eine Grafikbibliothek gehören, die Grundlagen der Programmierung zu vermitteln. Die "fehlende Hälfte" musst Du Dir also schon wo anders her holen.
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

BlackJack hat geschrieben:...
Die PyGame-Tutorials gehen davon aus, dass man Programmierung im allgemeinen und Python im besonderen schon kann. Damit solltest Du vielleicht mal anfangen. Es kann nicht zum Umfang eines Tutorials über eine Grafikbibliothek gehören, die Grundlagen der Programmierung zu vermitteln. Die "fehlende Hälfte" musst Du Dir also schon wo anders her holen.
Was Du da schreibst, sind meiner Meinung nach nichts als Vermutungen.
Zuerst fängt er mit etwas an, was nur Zeit kostet und man auch gleich mit Bilder machen könnte.
Dann, als es ins Detail geht ... .
Hier ein/der Auschnitt:

Code: Alles auswählen

>>> background = [terrain1, terrain1, terrain2, terrain2, terrain2, terrain1]
>>> screen = create_graphics_screen()
>>> for i in range(6):
...    screen.blit(background[i], (i*10, 0))
>>> playerpos = 3
>>> screen.blit(playerimage, (playerpos*10, 0))
Bei background bzw. dem terrain1 erwartet er, daß es Bilder sind, die dort abelegt sein sollen.
Aber nirgends vorher steht dort, mit welchen Befehl das man machen kann. Der schreibt einfach, daß wir eben annehmen, wir haben geladen hübsche Bildchen ... .
Da PyGame vermutlich seinen eigenen Befehle hat, kann man wohl kaum hergehen und sagen: wer Python kann, kann dies auch.
Auch steht nirgends wie groß die Bilder sein sollen. Nicht mal das will Er einem mitteilen.
Habe es zwar inzwischen rausbekommen, was ich aber nicht dem Turitoral zu verdanken habe.
Das nächste Problem tauchte dann in Zeile 2 auf, wegem 'create_graphics_screen()'. Dies ist nämlich nicht definiert.
Ich weis weder denn Sinn von dem Ganzen, auch wird es vermutlich kein Python-Befehl sein. Und nirgendswo vorher wurde darüber geschrieben. Aber ich soll wissen, was da jetzt rein soll? Da kann alles möglich rein?
Das hat für mich nichts mehr damit zu tun, daß man von einem erwartet, er kann gut Python, sondern ist für mich einfach Faulheit und Schlamperei, laut dem Mottto: ich weis was rein soll, der User hat dies halt eben zu erraten, hautpsache ich muß nicht viel schreiben.

Überhaupt hat der eine Logik ... anstatt daß Er einfach das Bild mit dem Held über die anderen Bilder laufen/bewegen läßt, will er jedesmal alles neu Zeichnen? Komplizierter geht es gar nicht, finde ich.
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Wäre auch nett, wenn ihr sagen könntet, welches Tutorial ihr meint, ich habs irgendwie nicht finden können.

Was ich gut fand, war das Sprite Tutorial.

Zu bedenken ist, dass pygame nur eine Freizeitbeschäftigung von Pete Shinners und ein paar anderen ist, und nicht irgendein Mittel Geld zu verdienen. Sie machen es alle nur zum Spaß, und sie programmieren am liebsten, statt ellenlange Texte zu schreiben, damit es auch Leute verstehen, die gar kein Python können. Das ist nicht ihr Gebiet, sie sind Programmierer.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Diese Seite kannte ich gar nicht. War auf der offizellen Seite auch nicht vorhanden/zu finden.

Ich habe nach und nach die anderen abgearbeitet bis ich zu dieser Seite kam: Dort häng ich fest
Natürlich machen es viele in Ihrer Freitzeit.
Aber bevor man Murks macht, und somit dem Lernwilligem die Freude und Zeit stillt, sollte man es besser gleich bleiben lassen.
Hinzu kommt, das er viel zu viel Schreibt, was mir total unwichtig ist, aber eben dafür woanders zu wenig schreibt, was aber wichtig ist.
Denn solche Sätze wie; 'wir gehen mal davon aus, daß wir uns hübsche Grafiken geladen haben ...'
Was soll der Blödsinn?
Stattdessen wäre es besser gewesen, Er hätte geschrieben:
Die Grafiken sollen 10 Pixel haben (3 Bilder, 2 davon Terrain, eins der Held).
Geladen werden die Grafiken mit dem Befehl ... .

Und übrigens:
Ich kann ein wenig Python.
Und es geht hier auch nicht um Python-Befehle, sondern um 'PyGame'- Befehle.
Jemand der alles über Python weis, kann deshalb bestimmt noch lange nicht PyGame.
Weil PyGame ist PyGame, und nicht Python.
Sonst bräuchte ich ja PyGame nicht, sondern würde all diese Grafiken ect. mit Python machen.
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erwin hat geschrieben:Diese Seite kannte ich gar nicht. War auf der offizellen Seite auch nicht vorhanden/zu finden.
Ist auf der Hauptseite unter "News" - "New Sprite Tutorial".
Erwin hat geschrieben:Ich habe nach und nach die anderen abgearbeitet bis ich zu dieser Seite kam: Dort häng ich fest
Ist dir vielleicht aufgefallen, dass dieses Tutorial Help! How Do I Move An Image? heißt? Soll bedeuten: Hilfe! Wie bewege ich ein Bild?. Das ist ja kein Einsteiger-Howto und es geht davon aus, dass du bereits weißt, wie man Bilder erstellt, denn du bist ja nun beim Problem, wie man diese bewegt!
Erwin hat geschrieben:Natürlich machen es viele in Ihrer Freitzeit.
Aber bevor man Murks macht, und somit dem Lernwilligem die Freude und Zeit stillt, sollte man es besser gleich bleiben lassen.
Wie gesagt, es ist ja kein Einsteigertutorial und greift tiefer in die Materie ein. Es will etwas so erklären, dass man die Hintergründe versteht. Und auch wenn es nicht perfekt geschriben ist, wer soll es dann schreiben? Germaninsten/Anglisten? Die machen gleibe ich etwas anderes als Tutorials zu Sachen zu schreiben, die sie nicht verstehen.

Ich denke du bist in der Free Software Community noch nicht weit rumgekommen, denn so habe ich vor paar tagen einen SQLite Server zusammengeschustert. Dazu habe ich überraschend viel Feedback bekommen, obwohl ich dazu keine Dokumentation geschrieben habe. Und dabei ist der Server auch bei weitem nicht fertig, er ist vielleicht ein Anfang, aber alltagstauglich würde ich ihn nicht bezeichnen. Ich habe ihn halt gemacht, weil ich Lust hatte, nicht weil ich ihn in irgendeiner Weise gebraucht habe. Und wenn ich Lust habe, baue ich ihn weiter aus, wenn nicht dann eben nicht.
Erwin hat geschrieben:Hinzu kommt, das er viel zu viel Schreibt, was mir total unwichtig ist, aber eben dafür woanders zu wenig schreibt, was aber wichtig ist.
Denn solche Sätze wie; 'wir gehen mal davon aus, daß wir uns hübsche Grafiken geladen haben ...'
Was soll der Blödsinn?
Er sagt doch einfach nur, wie man zu dieser Situation kommt, die er beschreibt. Das die Bilder 10 Pixel haben, sagt er ja dann auch. Das ist einfach ein Versuch, nicht so staubtrocken zu erscheinen, denn sonst beschweren sich einige: das Tutorial ist okay, aber warum ist es denn so trocken?
Erwin hat geschrieben:Stattdessen wäre es besser gewesen, Er hätte geschrieben:
Die Grafiken sollen 10 Pixel haben (3 Bilder, 2 davon Terrain, eins der Held).
Geladen werden die Grafiken mit dem Befehl ... .
Letzteres solltest du schon wissen, genauso wie das Tutorial annimmt, dass du auch Python schon kannst.
Erwin hat geschrieben:Und übrigens:
Ich kann ein wenig Python.
Und es geht hier auch nicht um Python-Befehle, sondern um 'PyGame'- Befehle.
Jemand der alles über Python weis, kann deshalb bestimmt noch lange nicht PyGame.
Dafür gibt es ja Pygame Introduction, A Newbie Guide to pygame, Line By Line Chimp und auch Making games with Pygame.

Du kannst auch Surfarray Intro nehmen und dich beschweren, warum dort nicht wieder alles neu aufgekaut wird. Es wird einfach angenommen, dass du sowas schon kannst.
Erwin hat geschrieben:Weil PyGame ist PyGame, und nicht Python.
Sonst bräuchte ich ja PyGame nicht, sondern würde all diese Grafiken ect. mit Python machen.
Pygame ist eine Python Bibliothek, wenn du import pygame tippst, wird der Interpreter die Erweiterung laden und sie wird auf gewisse weise doch teil des Interpreters *g* SCNR.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Habe ich schon mal erwähnt, das ich nicht Englisch kann?

Für mich ist es dadurch doppelt schwer.

Also ich klicke auf Documentation.
Und was fällt mir da als erstes ins Auge?
Richtig: Tutorials.
Also, und wo fangt man an?
Normalerweise bei Nummer 1.
Da es nicht nummeriert ist, halt beim 1.
Und bis zu 4. Zeile scheint ja alles nach und nach aufzubauen.
Aber eben in der 4. Zeile ... die hätte ich also überspringen müssen?

Übrigens, um etwas zu bewegen, muß man es auch vorher laden.
Also nur weil dort was von Bewegen steht, heißt es noch lange nicht, daß dort nichts über laden von Bildern steht, bzw. ich ging davon aus, daß dies dort auch erklärt wird. Denn bei den 3 zuvor stand davon nichts. Und zum bewegen, braucht man eben auch Bilder.

Also für mich ist das alles sehr verwirrend.
Zumal ich bei den anderen auch reingeschaut habe, aber deren Beispiele ect. ... werde da weder auf den erten Blick draus schlau (geht was mit SDL los ..., da hatte ich deshalb erst recht den Eindruck, bei einem Experten-Turitoral zu sein).
Naja, werde es mir anschauen, sobald es mir nervlich besser geht und ich den Fehler im Browser gefunden habe.
Denn Deine andere Seite zeigt er immer wieder andere Grafik an, was mir auch noch gefehlt hat.

Ja, und ich weis, Du kannst nichts dafür und willst mir ja nur Helfen.
Dafür bin ich Dir (Euch) auch dankbar.

Aber ... es ist immer schwer sich in die Lage des anderen Hineinzuverstzen, bzw Ihr Euch in meine.
Und ... für mich ist das alles frustierend und unnötig schwer, im Vergleich mit manch anderen Sprachen (oder war halt sofort eine gute Dukomentation dazu zu finden).
Irgendwie fühle ich mich da als Deutscher möchtegern Spielentwickler total vernachlässigt von Python/PyGame. Sowas ... baut mich nicht gerade auf. Erst recht nicht, wenn man alles zusammensuchen, übersetzen und lange testen muß.
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Erwin hat geschrieben:Habe ich schon mal erwähnt, das ich nicht Englisch kann?
Das darfst du jetzt aber nicht dem AUtor des Tutorials anlasen, der kann da nichts dafür.
Erwin hat geschrieben:Also ich klicke auf Documentation.
Und was fällt mir da als erstes ins Auge?
Richtig: Tutorials.
Also, und wo fangt man an?
Normalerweise bei Nummer 1.
Da es nicht nummeriert ist, halt beim 1.
Ja, deswegen ist es ja eben nicht numeriert. Aber du hast doch gesagt, dass du es dir Übersetzen lässt, dann hättest du schon drauf kommen können, das die anderen Tutorials besser geeignet sind.
Erwin hat geschrieben:Und bis zu 4. Zeile scheint ja alles nach und nach aufzubauen.
Aber eben in der 4. Zeile ... die hätte ich also überspringen müssen?
Nein, es baut schon nach der 1. Zeile nicht mehr auf, denn das erstellen von EXE Dateien gehört ja wohl nicht zum "Grundwissen-Pygame".
Erwin hat geschrieben:Übrigens, um etwas zu bewegen, muß man es auch vorher laden.
Also nur weil dort was von Bewegen steht, heißt es noch lange nicht, daß dort nichts über laden von Bildern steht, bzw. ich ging davon aus, daß dies dort auch erklärt wird. Denn bei den 3 zuvor stand davon nichts. Und zum bewegen, braucht man eben auch Bilder.
Das laden wird ja in den anderen Tutorials beschriben. Der Autor geht halt von der Situation aus: du hast die Intros gelsen, weißt wie man Bilder lädt, hast das schon gemacht und nun fragst du dich: "Wie bewege ich nun diese tollen Bilder, die ich da habe?".

Übrigens finde ich, dass das ganze ziemliche Haarspalterei ist, denn dein großtes Problem ist ja jetzt das die Tutorials nicht richtig sortiert sind :?: Ich gebe ja zu, dass die pygame-Webseite etwas suboptimal ist und auch schon etwas Outdated, aber es gibt schlimmeres.
Erwin hat geschrieben:Also für mich ist das alles sehr verwirrend.
Zumal ich bei den anderen auch reingeschaut habe, aber deren Beispiele ect. ... werde da weder auf den erten Blick draus schlau (geht was mit SDL los ..., da hatte ich deshalb erst recht den Eindruck, bei einem Experten-Turitoral zu sein).
SDL ist das, auf was Pygame aufbaut. Pygame ist ja eigentlich hauptsächlich eine Python-Bindung für die libSDL.
Erwin hat geschrieben:Naja, werde es mir anschauen, sobald es mir nervlich besser geht und ich den Fehler im Browser gefunden habe.
Spread Firefox. Mag zwar auch seine Nachteile haben, jedoch kann man damit wirklich angenehm arbeiten.
Erwin hat geschrieben:Denn Deine andere Seite zeigt er immer wieder andere Grafik an, was mir auch noch gefehlt hat.
Ich weiß jetzt eigentlich net was du meinst, die Tutorials die ich genannt habe, kommen meist ohne Bilder aus :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Erwin
User
Beiträge: 141
Registriert: Donnerstag 9. Juni 2005, 08:51

Leonidas hat geschrieben:... Sprite Tutorial....
Diese Seite hat ein wenig Art Grafik, bzw. Felder mit unterschiedlichen Farben. Und jedesmal wenn ich aktualieren kann, überschneidet es sich woanders. Mal ist der Code zur Hälfte drin, mal gar nicht, mal richtig, dafür wiederum woanders nicht, oder die Überschriften sind nicht in einer Grafikbox ect..

Natürlich kann ich meine schwachen Englischkenntnisse Denen nicht vorwerfen.
Aber ... weiß nicht. Ich habe oft den Eindruck, als denken die nicht mal daran, daß dies vielleicht Jemand notgedrungen lesen muß, der kein Englisch kann.
Und irgendwie ist es auch komisch, daß es zu PyGame keine Deutsche Seite gibt. Sowas vergrault mich halt.
Da sind andere Programme anders. Nunja, diese kosten auch etwas. Aber was nützt mir etwas umsonst, wenn vieles in einer Sprache geschrieben ist, die ich kaum verstehe, und ich somit erhebliche Probleme habe, das Ganze richtig einzusetzen?
Ich mache nie einen Fehler Zweimal.
Schließlich ist die Auswahl ja groß genug.
Gesperrt