#1 17. November 2005 Hi, sorry, dass ich jetzt noch ein Thread erstellen muss. Das andere wird einfach nicht geladen. Ich weiß nicht wieso... Ich wollte euch fragen, ob man unbedingt C beherschen muss, wenn man mit C++ programmiert. Oder geht das auch ohne C ? Ich hatte vor mir ein C Buch aus der Bücherei zu besorgen, deswegen wollte ich euch erstmal fragen, ob das nötig wäre oder nicht. Momentan lerne ich C++. Vor etwa 3-4 Wochen wollte ich ein 2D Spiel mit der SDL coden, aber als ich dann gesehen habe, dass man dafür C beherschen muss, war ich sehr traurig. Mir wurde gesagt, dass es bestimmte wrapper für C++ gibt, mitdem man dann kein C mehr braucht, um mit der SDL zu programmieren. Wisst ihr, wie man sie benutzen kann ? Was man dafür machen muss ? Ich hab noch nie ein wrapper benutzt, deswegen fehlt mir noch das Wissen, um es zu benutzen. Oder soll ich am besten C lernen und kein wrapper benutzen ? Für Tipps und Antworten wäre ich euch sehr dankbar. MfG Gackt + Multi-Zitat Zitieren
#2 17. November 2005 Naja, C ist eine Untermenge von C++. Demnach ist C++ vollständig rückwärtskompatibel. Wenn du C++ vollständig kannst, kannst du im Prinzip auch C. Ich benutze OpenGL oder Direct3D. SDL habe ich bisher noch nicht verwendet. Aber sowohl OpenGL als auch SDL sind nur API's. Beide sind in C geschrieben, können aber mit vielen anderen Sprachen benutzt werden. Ein Wrapper ist nichts anderes als eine Art Layer, eine Softwareschicht welche eine darunterliegende Schicht kapselt. Die MFC sind zum Beispiel ein Wrapper für die große Win32 API. Die Syntax der SDL API ist sehr an C angelehnt. Du musst aber nicht C können um mit SDL Spiele zu programmieren. Mit C++ oder auch Java geht das genauso. Wenn du dir die Doku auf der offiziellen SDL Seite anschaust kannst du diesen Staz lesen Achja, hier ein Link zu 2D Spiele Tutorials mit C++ und SDL: gamedev.net + Multi-Zitat Zitieren
#3 18. November 2005 Danke, das hat mir sehr geholfen. Ich hab da aber was entdeckt: Code: So in conclusion if we would want to init the video and the audio we get: if( SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) <0 ) { printf("Unable to init SDL: %s\n", SDL_GetError()); return 1; } If an error occured, then the function SDL_GetError() would return a string about the error. Ein C code... also muss ich dann doch C können?.. Naja.. trotzdem danke für deine Hilfe :] + Multi-Zitat Zitieren
#4 18. November 2005 Hi du kannst ja auch cout <<SDL_GetError(); machen printf() wird durch stdio.h eingebunden und ist halt eine C funktion um auf den Konsolenstream zu schreiben. also es ist so wenn du C++ kannst wird es dir nicht schwerfallen die C spezifischen Funktionen anzuwenden. Gibt halt nur andere Header Dateien C ist strukturiert und C++ ist objektorientiert + Multi-Zitat Zitieren