Suchergebnisse
Suchergebnisse 1-20 von insgesamt 23.
Schau dir mal Reset in der Klasse CPlayer an, da steht doch die Anfangsposition des Spielers drin und für den Spieler brauchst du keinen Iterator (Iteratoren sind für Vector, List usw.), ist ja nur ein Spieler und da braucht man kein List bei den. Was anderes ist es bei den Asteroiden die sind ja mehr als einer und die Anzahl verändert sich ja auch durch die Abschüsse wo der Spieler macht.
Versuchs doch mal einen Bildformat wo den Alphawert des Rahmens speichert, schaut dann auch noch besser aus als mit SDL_SetColorKey.
Zitat Ich vermute du musst http://wiki.libsdl.org/moin.cgi/SDL_RenderCopy mit http://wiki.libsdl.org/moin.cgi/SDL_SetRenderDrawBlendMode kombinieren. Glaub SDL_RenderCopy ist SDL 1.3 ich hab aber nur 1.2, deshalb geht es bei mir auf jeden Fall nicht, aber danke für die Info Zitat Wie sieht denn dein Image aus? Es hatte leider nur einen schwarzen Hintergrund. So nach langen Überlegen und vielen Versuchen hab ich was, denke aber es gibt bessere Lösungen aber besser als nichts. C-/C++-Quelltext 1 ...
Ich hab leider das selbe Problem mit SDL_CreateRGBSurface. C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Uint32 RMask, GMask, BMask, AMask; #if SDL_BYTEORDER == SDL_BIG_ENDIAN RMask = 0xff000000; GMask = 0x00ff0000; BMask = 0x0000ff00; AMask = 0x000000ff; #else RMask = 0x000000ff; GMask = 0x0000ff00; BMask = 0x00ff0000; AMask = 0xff000000; #endif m_pImage = SDL_CreateRGBSurface(SDL_SWSURFACE , Width, Height, m_pScreen->format->BitsPerPixel, RMask, GMask, BMask, AMask); Am besten ist es da...
Du kannst ja auch alles auskommentieren, damit du nur das Fenster öffnet und bei Tastendruck beendet. Wenn das geht fügst du immer mehr wieder dazu, bis der Fehler da ist, dann hast du wenigstens schon mal die Klasse gefunden wo der Fehler ist und musst dir die Klasse nochmal genau anschauen wo der Fehler ist, von mir aus schreib sie auch hier ist Forum evtl. kann ja einer helfen.
So jetzt hab ich noch was für dich C-/C++-Quelltext 1 2 3 SDL_Rect **Modes; Modes = SDL_ListModes(NULL, SDL_DOUBLEBUF | SDL_FULLSCREEN); pScreen = SDL_SetVideoMode(Modes[0]->w/2, Modes[0]->h/2, 32, SDL_HWSURFACE | SDL_DOUBLEBUF); damit hat dein Fenster die halbe Grösse der Bildschirmauflösung. SDL_ListModes gibt ein Array zurück mit den verfügbaren Auflösungen (das Flag SDL_FULLSCREEN muss bei SDL_ListModes aber mit angegeben werden sonst gibt es einen Fehler), die höchste Auflösung ist am Anfan...
Hi Developer_X, du kannst mit den Flag SDL_NOFRAME bei SDL_SetVideoMode nur den Screen auf den Desktop zeichnen lassen, aber leider wird das Icon und die Fensterleiste nicht mehr angezeigt. C-/C++-Quelltext 1 pScreen = SDL_SetVideoMode(ScreenWidth, ScreenHeight, ColorDepth, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_NOFRAME);
Es gibt verschiedene Arten wie du ein Button machen kannst. Am einfachsten ist es wenn du ein Sprite dafür benutzt und frägst die Position der Maus ab, vergleichst es dann mit der Position und Grösse des Sprites und ob eine Maustaste gedrückt wurde.
Hab da noch einen Link von der GameStar duke-nukem-forever
Jep und er soll auch in der finalen Entwicklungsphase sein.
Hi SaRu, habs rauskommentiert und es geht, danke für deine Hilfe . So lernt man immer mal was dazu. Gruß Quin
Hallo SaRu, danke für deine Anregungen, es stimmt es ist besser die Fehler in die Konsole auszugeben oder mit Exceptions abzufangen, wird in nächster Zeit geändert von mir. C-/C++-Quelltext 1 enum eTextType {SOLID, SHADED, BLENDED}; ist definiert um es mit der Memberfunktion SetType zu nutzen, die den Hintergrund transparent machen kann. Hier ist mal ein Beispiel dafür C-/C++-Quelltext 1 Text.SetType(TTF::BLENDED); gut es würde auch ohne eTextType gehen C-/C++-Quelltext 1 Text.SetType(2); aber m...
Du kannst dir ja mal meine Klasse dafür anschaun, die benutze ich auch für meine SDL Spiele, ist aber nicht die Beste . Aber für den Anfang reicht sie aus. C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 #ifndef _TTF_H_ #define _TTF_H_ #include <sstream> #include "Framework.h" class TTF { public: enum eTextType {SOLID, SHADED, BLENDED}; TTF (); ~TTF (); void Load (const string &sFi...
Ich hab das Buch schon seit einiger Zeit und find es sehr gut, es werden einen Die Grundlagen von C++ und Allegro gezeigt. Aber wie schon gesagt geht es mehr um das Konzept wie man ein Spiel macht (z.B. Erstelleung einer Tilemap, Charaktererstellung, Eigenschaften der Gegner, Isometrische Karten, Wegfindung usw.).
Du kannst dir ja mal trueSpace anschaun, ist auch kostenlos http://www.caligari.com/
iostream.h und iostream sind beides Headerdateien, iostream ist nur überarbeitet und die Deklarationen sind im Namensbereich std gesetzt, in iostream.h sind sie im globalen Bereich definiert. Wegen Kompatilitätsgründen mit älteren C++ Programme würde iostream.h beibehalten und bei der neuen einfach das .h weggelassen.
Du hast die tux.bmp nicht im Verzeichnis
Da hab ich was für dich, wird dir bestimmt helfen http://lazyfoo.net/SDL_tutorials/lesson01/index.php
Ich hab meinen Code nochmal Überarbeitet, jetzt gibt es in der Klasse Memberfunktionen und die Variablen sind nicht mehr public. Strings können jetzt auch gespeichert werden und es können auch mehr als 2 Spieler in die Datei gespeichert werden. C-/C++-Quelltext 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 8...