Einige Fragen zu SDL
-
Hallo.
Ich habe 2 Fragen zu SDL:
1. Wie kann ich ein einzelnes Bitmap beim Tastendruck ändern (Spielfigur die sich in die entsprechende Richtung dreht)
2. Kann man über SDL .map-Dateien erstellen bzw. auslesen, wenn nein, wie geht das dann?
Mein bisheriges Wissen baut auf den Tutorials von resourcecode.de auf. Es wäre also schön, wenn eure Vorschläge dem Code angepasst wären (wenn nicht schlag ich mich damit auch selber rum). Das war auch schon alles.Mfg Ominion
-
zu 1.
ich kenn die ressourcecode-tuts nicht.
aber in der doku is ev. was drin
über sdl event / keySDL_Event event; //... if( event.type == SDL_KEYDOWN ) { switch( event.key.keysym.sym ) { case SDLK_UP: y -= 2; break; case SDLK_DOWN: y += 2; break; case SDLK_LEFT: x -= 2; break; case SDLK_RIGHT: x += 2; break; } }und dann an den neuen x und y blitten
-
Das bewegen ist kein Problem. Mein Problem ist, dass das Bild immer nur in eine Richtung guckt, egal ob ich nach vorne, hinten, links oder rechts laufe. Das möchte ich eben ändern.
Mfg Ominion
-
Stichwort Sprites?
Oder Du musst das Bild spiegeln, dafür gibts auch ne extra Lib. bei SDLhttp://www.c-plusplus.net/forum/viewtopic-var-t-is-145226-and-highlight-is-%2Asdl%2A.html
-
Lol, das Problem hat sich erledigt. Ich rufe die Funktion zum zeichnen ja eh erst nach der Event-Abfrage auf. Also ändere ich das Bitmap beim entsprechenden Event einfach. Also die Frage hat sich somit von selbst erledigt. Tortzdem danke. Jetzt würde mich nur noch die Frage mit den map-Dateien interessieren.
Mfg Ominion
-
Die schnellste Lösung wird wohl sein, dass du dir ein eigenes Dateiformat überlegst. Die SDL bringt natürlich keine Möglichkeit mit deine "maps" zu speichern, da die SDL ja nicht für ein spezielles Spiel konzipiert wurde, sondern blos funktionen anbietet, die eben die grafikprogrammierung, etc. vereinfachen.
Da ich deine Art von Spiel nicht kenne, kann ich dir keine genauen Vorschläge für dein map-Dateiformat machen.
Aber falls es aus einzelnen Tiles besteht, könnte man folgendes verwenden:
BFFBFF FBFBFB SSSSSS UUUAUU WWWWWW WWWWWW UUPUUU FBFFFF FFFBBF(B = Baum; F = Feld; S = Straße; U = Ufer; A = Angelplatz; W = Wasser; P = Wasserpolizei)
Das könnte man beliebig fortführen. Bei variablen Grössen deiner Maps solltest du noch die Grösse an den Begin der Datei schreiben.Du kannst das ganze natürlich auch binär speichern um es dem user nicht ganz so einfach zu machen, die map zu verändern.
-
Ok, jetzt ist für mich interessant wie ich die öfnen und speichern kann. Geht das über fopen() und co.? Also mein Spiel soll ein kleines 2D Adventure werden.
Mfg Ominion
-
Ja.
-
Gut.
Mfg Ominion
-
funktioniert das auch mit SDL_Surface ??
bei mir nämlich nicht *g*
-
Was? Die map-Dateien?
Mfg Ominion