Was ist SDL?



  • Ich habe früher mit Basic (PureBasic) ein Spiel wie Space Invaders programmiert. Jetzt will ich auch mit C sowas in der Art programmieren.
    Anscheinend gibt es eine Möglichkeit per "SDL" 2D-Spiele zu machen.

    Man müsste nur eine Header-Datei einbinden und kann dann Funktionen benutzen, die man bei 2D-Spielen halt so braucht und die denen von Basic ähnlich gehandhabt werden (LoadImage/Sprite,Display(x,y),getkey(),Playsound(blabla),flipbuffers(),...).

    Und dann gibt es noch DirektX, das ist komplizierter und hat irgendwie mehr mit Windows zu tun.

    Ist jetzt SDL eine Bibliothek in der das wichtigste von DirektX einfach zusammengefasst ist (sowas brauch ich), oder ist es eine Art DirektX für Linux?

    Falls ich das völlig verkehrt verstanden habe: Kann mir jemand eine DLL, oder eine Header-Datei zum Downloaden empfehlen, mit der ich Basic-ähnliche Graphikfunktionen benutzen kann?



  • Unter google findet man einige Seiten die deine Fragen beantworten.
    http://www.libsdl.org/index.php
    Das ist meine erste Anlaufstelle wenns um SDL geht.

    Zu einigen deiner Fragen:
    Du kannst SDL sowohl unter Linux als auch unter Windows einsetzten,
    das ist einer der großen Vorteile von SDL.
    Du solltest aber auf jeden Fall erstmal richtig C beherschen bevor
    du dich an SDL heranwagst.



  • hi,
    dieses sdl ist doch so'n abstraktions layer für spiele, ne? unter windoof verwendet's dircect-x, unter linux was anderes um grafik darzustellen. ach, hab's gerade gefunden. guckst du selbst: http://www.libsdl.org/index.php

    edit: mist! zu spät...



  • naja "library"
    Korrigiert mich falls ich falsch liege, aber ich denke das ist eine Sammlung von Funktionen mit der Dateiendung ".dll", die von mehreren Programmen benutzt werden kann. Und in den Funktionen von SDL sind dann halt die Befehle drin die die Grafikkarte ansprechen (,oder so... 😕 ).
    Und DirectX ist dasselbe. Warum ist DirektX dann so kompliziert zu verstehen und SDL nicht?

    Zu meinen Fähigkeiten als Programmierer: Ich weiß was Typen, Funktionen, Zeiger, Schleifen, casts, arrays, structuren sind und z.B. wie Strings funktionieren.
    Ich hab sogar mal eine Linkedlist gemacht. 😃
    Aber halt nur Konsolenprogramme. Reicht das um mal ein Spiel schreiben zu dürfen?



  • Also so eine Vereinfachung von direktx und keine Alternative



  • obbba schrieb:

    Und DirectX ist dasselbe. Warum ist DirektX dann so kompliziert zu verstehen und SDL nicht?

    hi,
    die programmierschnittstelle zu direct-x basiert auf dem 'component object model (COM)'. das ist eine m$-proprietäre technik um objektorientierte executables zu schaffen (vererbung, polymorphismus usw. unter binärdateien). das geht alles über pointer auf pointer auf pointer auf pointer auf... und ist ziemlich umständlich. sowas wie sdl entkoppelt den anwender vom COM overhead und stellt ein paar einfache funktionen zur verfügung.



  • Ähh..
    Hört sich doch gut an. 😃

    Was muss ich da haben/downloaden um SDL zu benutzen?
    Vieleicht die Win32 Developement Library?



  • obbba schrieb:

    Was muss ich da haben/downloaden um SDL zu benutzen?
    Vieleicht die Win32 Developement Library?

    klick auf die links da oben 😉
    auf der sdl seite findeste alle dokus, faq's usw...



  • halleluja!! Heureka!

    Es funktioniert. Danke!



  • Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum Spiele-/Grafikprogrammierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Man kann jetzt viel darueber diskutieren, aber
    fakt ist:
    http://de.wikipedia.org/wiki/Simple_DirectMedia_Layer

    und eine gute seite ist:
    http://de.wikibooks.org/wiki/SDL


Anmelden zum Antworten