Hi,
ich bin neu hier
Somit auch in der Python-welt...
Bis jetz hab ich nur Programmiersprachen benutzt die so umständlich waren das man fürn hello world schon mal 20-25 Zeilen hat... z.B. C für die PSP...
Hat mir lange zeit spaß gemacht... nur jetz hab ich keinen bock mehr drauf...
ich such ne Script/Programmiersprache die leicht zu verstehn is, 3D tauglich, und recht gut für spiele is...
Hab mit Bacht-files begonnen
dann über HTML, LUA (PSP), C (PSP), JavaScript, C++, Java, PHP, und i-was war da noch... kp
Wie alles abläuft weiß ich also schon... nur weiß ich ned wie das alles mit den Compilern geht...
bei mir gehn auch alle samples nachn öffnen gleich wieder zu...
Ähm... ja also so ein "How to - wie fang ichn überhaupt an?!" Tutorial wär ned schlecht
Was kann man mit Python alles machen?
Wie geht das mim Compiliern?
bzw. was is mit PyGame? is ne lib oder?
Ich wieß man solls ned tun und so... aber ich würd gern wenn möglich gleich mit GUI anfangen
Was könnt ihr mir da empfehlen?
Vielen Dank!
Is Python das richtige?
-
- User
- Beiträge: 2
- Registriert: Dienstag 18. August 2009, 20:22
- Wohnort: AT
- Kontaktdaten:
-
- User
- Beiträge: 996
- Registriert: Mittwoch 9. Januar 2008, 13:48
Hallo!
Also, Tutorials findest du hier im Forum genug, schau mal unter "Links und Tutorials". Mit Python kann man "alles" machen; es gibt schon eine riesige Menge an libraries für jeden Sch.... Einsatzzweck, und du hast auch ne Anbindung an C/C++ (ctypes z.B.). Spiele gehen mit der Pygame-lib, da gibts aber IMHO bessere. 3D-Bibliotheken kenne ich zwar keine, aber es gibt da schon ein paar. Allerdings weiß ich nicht, wie das mit der Geschwindigkeit ist.
Python ist nämlich nicht besonders schnell beim Ausführen ;-) (Das ist in ~70% der Anwendungsfälle egal, aber für Spiele, wo es auf ruckelfreie und latenzfreie Anzeige/Berechnung ankommt, eher nicht.)
"Compilen" gibt es nicht in der Form wie mit C oder C++; du kannst Python-Code nur zu Bytecode (wie Java) übersetzen, der dann vom Python-Interpreter interpretiert wird (vgl: Java Virtual Machine).
Im Prinzip brauchst du fürs Ausführen nur ein Kommando:
Für GUI würde ich dir auf jeden Fall GTK empfehlen, Qt und Wx mag ich wegen der API nicht so sehr. (Die PyGTK-API ist imho zumindest das geringste Übel.)
So, ich hoffe trotz der späten Zeit nicht zur viele Rechtschreibfehler drinne zu haben :)
Gruß
Also, Tutorials findest du hier im Forum genug, schau mal unter "Links und Tutorials". Mit Python kann man "alles" machen; es gibt schon eine riesige Menge an libraries für jeden Sch.... Einsatzzweck, und du hast auch ne Anbindung an C/C++ (ctypes z.B.). Spiele gehen mit der Pygame-lib, da gibts aber IMHO bessere. 3D-Bibliotheken kenne ich zwar keine, aber es gibt da schon ein paar. Allerdings weiß ich nicht, wie das mit der Geschwindigkeit ist.
Python ist nämlich nicht besonders schnell beim Ausführen ;-) (Das ist in ~70% der Anwendungsfälle egal, aber für Spiele, wo es auf ruckelfreie und latenzfreie Anzeige/Berechnung ankommt, eher nicht.)
"Compilen" gibt es nicht in der Form wie mit C oder C++; du kannst Python-Code nur zu Bytecode (wie Java) übersetzen, der dann vom Python-Interpreter interpretiert wird (vgl: Java Virtual Machine).
Im Prinzip brauchst du fürs Ausführen nur ein Kommando:
Code: Alles auswählen
python yourfile.py
So, ich hoffe trotz der späten Zeit nicht zur viele Rechtschreibfehler drinne zu haben :)
Gruß
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hi,
als 3D-Engine mit Python Scripts schau Dir mal Panda3D an!
Das meiste wird von der Engine erledigt, wie das auch sein sollte. Python wird hauptsächlich verwendet, um die Gameobjektstruktur zu verwalten. Du musst Dir dabei die 3D-Welt wie einen Baum vorstellen. Alles was im Baum hängt, wird in der Szene dargestellt, oder zumindest berücksichtigt.
Mit Python kannst Du Objekte, z.B. eine Kisten, laden und einfach an die Baumstruktur an gewünschter Position einhängen. Und voila, schon sind sie in der Scene. Finde ich genial.
Ich habe da auch nur die Tutorials durchgespielt, weil mir die Modell- und Animationserzeugung etwas zeitraubend war. Aber wenn Du firm bist, sag bescheid, dann bauen wir damit mal was.
Achja: wenn Du Deine Scripts in Windows per Doppelklick ausführst, schließt sich das Terminal am Ende der Ausführung automatisch. Entweder Du führst die Scripts in einer MS-DOS Eingabeaufforderung aus (rechtsklick auf die Datei => öffnen mit => MS-DOS Eingabeaufforderung oder so und dann "python scriptname") oder Du fügst Dein Programm in folgende Struktur ein:
Ohne den try-finally Block würde das Fenster nur bei korrekter Ausführung das raw_input erreichen und offen bleiben, bei Laufzeitfehlern aber trotzdem verschwinden. Wie angedeutet funktioniert das aber nur bei Laufzeitfehlern, also wenn das Programm in die main() bereits eingetreten ist.
Die bessere Variante ist, das Script aus der Shell oder MS-DOS Eingabeaufforderung zu starten.
Michael
als 3D-Engine mit Python Scripts schau Dir mal Panda3D an!
Das meiste wird von der Engine erledigt, wie das auch sein sollte. Python wird hauptsächlich verwendet, um die Gameobjektstruktur zu verwalten. Du musst Dir dabei die 3D-Welt wie einen Baum vorstellen. Alles was im Baum hängt, wird in der Szene dargestellt, oder zumindest berücksichtigt.
Mit Python kannst Du Objekte, z.B. eine Kisten, laden und einfach an die Baumstruktur an gewünschter Position einhängen. Und voila, schon sind sie in der Scene. Finde ich genial.
Ich habe da auch nur die Tutorials durchgespielt, weil mir die Modell- und Animationserzeugung etwas zeitraubend war. Aber wenn Du firm bist, sag bescheid, dann bauen wir damit mal was.
Achja: wenn Du Deine Scripts in Windows per Doppelklick ausführst, schließt sich das Terminal am Ende der Ausführung automatisch. Entweder Du führst die Scripts in einer MS-DOS Eingabeaufforderung aus (rechtsklick auf die Datei => öffnen mit => MS-DOS Eingabeaufforderung oder so und dann "python scriptname") oder Du fügst Dein Programm in folgende Struktur ein:
Code: Alles auswählen
...
def main():
<< Hauptcode >>
if __name__ == "__main__":
try:
main()
finally:
raw_input("Enter zum Schliessen")
Die bessere Variante ist, das Script aus der Shell oder MS-DOS Eingabeaufforderung zu starten.
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Und als GUI um sofort anzufangen: Tkinter.
einfach:
ausführlich:
Auch, wenn ich jetzt wieder viele Buuuh-Rufe ernten werde von Leuten, die Dir sagen "fang doch gleich mit etwas vernünftigem an". Ich stehe zu Tkinter und habe absolut nichts gegen das Aussehen.
einfach:
Code: Alles auswählen
import Tkinter as tk
tk.Label(text="Hallo Welt!").grid()
tk.Button(text="beenden", command=tk._default_root.destroy).grid()
tk.mainloop()
Code: Alles auswählen
import Tkinter as tk
root = tk.Tk()
label = tk.Label(root, text="Hallo Welt!")
label.grid(row=1, column=1)
button = tk.Button(root, text="beenden", command=root.destroy)
button.grid(row=2, column=1)
root.mainloop()
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Es lohnt sich durchaus auch mal in den Forum Beiträgen zu stöbern.
Die Frage ob Python das richtige ist, ist hier schon dutzendfach gestellt und vor und zurueck diskutiert wurden, auch im Vergleich zu anderen Programmiersprachen mit Vor- und Nachteilen.
Die Frage ob Python das richtige ist, ist hier schon dutzendfach gestellt und vor und zurueck diskutiert wurden, auch im Vergleich zu anderen Programmiersprachen mit Vor- und Nachteilen.
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Ich sehe gerade, da gibt es noch einen parallelen Thread zur Fragen, wie man das Fenster am besten offen halten kann:
http://www.python-forum.de/topic-11739.html
http://www.python-forum.de/topic-11739.html
Diese Nachricht zersört sich in 5 Sekunden selbst ...
-
- User
- Beiträge: 2
- Registriert: Dienstag 18. August 2009, 20:22
- Wohnort: AT
- Kontaktdaten:
Vielen Dank für eure schnellen antworten!
Werd mich dann gleich mal drauf stürtzen
Werd mich dann gleich mal drauf stürtzen
Buuuuuuuuuuuuuh , ich empfehle wxPython und das Tut: http://wiki.wxpython.org/AnotherTutorial und das: http://www.zetcode.com/wxpython/ , die beiden sind sich ziemlich ähnlich, (zu ähnlich), ich nehme an dass teile aus dem 1 tut ins 2. kopiert wurden, find ich aber nicht schlimm und auf http://wxpython.org unbedingt auch die wxPython demo runterladen (Goldwert)Michael Schneider hat geschrieben:Und als GUI um sofort anzufangen: Tkinter.
einfach:ausführlich:Code: Alles auswählen
import Tkinter as tk tk.Label(text="Hallo Welt!").grid() tk.Button(text="beenden", command=tk._default_root.destroy).grid() tk.mainloop()
Auch, wenn ich jetzt wieder viele Buuuh-Rufe ernten werde von Leuten, die Dir sagen "fang doch gleich mit etwas vernünftigem an". Ich stehe zu Tkinter und habe absolut nichts gegen das Aussehen.Code: Alles auswählen
import Tkinter as tk root = tk.Tk() label = tk.Label(root, text="Hallo Welt!") label.grid(row=1, column=1) button = tk.Button(root, text="beenden", command=root.destroy) button.grid(row=2, column=1) root.mainloop()
als absoulutes Anfängerbuch in Python empfehle ich die Python4kids (das Buch gibts auf amazon http://www.amazon.de/Python-f%C3%BCr-Ki ... 577&sr=8-1 ) und A byte of Python http://abop-german.berlios.de/
mfg
Zum Anfang die Tkinter GUI, nett und einfach zu lernen. PyGTK ist furchtbar wenn du eine Windows Kiste hast. Unter furchtbar ist nicht nur der Syntax, aber auch die Installation und dann mal spaeter die Weitergabe deiner Programme. Ich habe mal versucht eine einfache Listbox mit PyGTK zu bauen, was ein Chaos das ist!
Atomkraftwerkaktienbesitzer