Ich arbeite in C++ an einer kleinen 2D Game-Engine und suche nach einer Möglichkeit, diese Klassen in Python zu verwenden. Als (sinnfreies ^^) Beispiel habe ich mal eine Header- und Quellcodedatei (C++) auf Pastebin hochgeladen:
Engine.hpp: http://pastebin.com/FTC4Vv17
Engine.cpp: http://pastebin.com/J0SpBnC7
Was ich quasi "suche" ist eine Möglichkeit in Python folgendes schreiben zu können:
Code: Alles auswählen
from Engine import Engine, User
e = Engine("glocke", 12)
e.run()
u = User("hans wurst")
u.inc()
print u.finished(2)
u.foo[2] = "Hallo Welt"
print u.foo[2]
Das größere Ziel dahinter ist es, die Engine mit Python zu verwenden.
/EDIT: Fahre ich am besten, wenn ich meine Klassen usw. mit SWIG wrappe und in Python dann die Klassen wieder "zusammenbaue"? SWIG bietet imho "nur" die Möglichkeit Klassen/Strukturen zu wrappen, wenn man alle Methoden (inkl. Konstruktoren und Destruktoren) als "Standalone-Funktionen" (siehe http://www.swig.org/Doc2.0/SWIGDocument ... ipting_nn7) wrappt (und öffentliche Felder durch Getter und Setter realisiere).
Dann könne man ja quasi um diese Funktionen in Python wieder eine Klasse drumrum bauen. Macht das Sinn (auch z.B. aus Sicht der Performance)? Laufzeitkritischere Teile (die 2D Engine soll auf meinem Netbook flüssig laufen, daher der Aufwand mit C++) lagere ich eh so weit es geht in die Engine ein. So hat sie z.B. eine Klasse, die der Darstellung der TiledMap dient und alles, was damit zu tun hat, steuert.
LG Glocke