[SDL] Mehrere Fragen



  • Hi leute,
    ich habe gehöhrt das SDL am besten für 2D Spiele sei.
    Stimmt das wirklich? Ich habe ebenfalls gelesen das die DirektX 2D Engine nicht weiter entwickelt wird(wurde) und SDL damit von 2D her genauso oder noch besser ist.
    stimmt das auch?

    dann noch,
    ich fange gerade an SDL zu programmieren,
    meine frage, wie kann ich eine Textbox einfügen?
    Ich finde niergents ein Forum was sich auf SDL spezalisiert hat und in tutorials finde ich auch nichts ..

    und dann noch,
    SDL wurde ja unter der LGPL erstellt.
    Ist es dann noch überhaupt möglich geld zu verlangen?

    Mein Plan ist es nähmlich ein 2D Jump'n'Run zu programmieren, wo man sich später eine bessere Version kaufen muss.

    Bitte nur auf die Fragen spezaliesieren,
    nicht irgentwo mit kommen wie "Dafür brauchst du eine Firmer" oder so, nur ob es möglich ist weil es ja unter der LGPL gemacht wurde.

    danke Marius



  • SDL und DirectDraw (2D Element von DirectX) kannst du so nicht vergleichen.

    SDL ist eine höherlevelige Bibliotek, die durchaus DirectDraw intern verwenden könnte (IMO wird da tatsächlich Direct3D verwendet). DirectDraw und DirectX arbeitet hingegen direkt mit den Grafiktreibern zusammen, ähnlich wie openGL.

    Ob SDL besser ist kommt auf deine Anforderungen an.

    Was meinst du mit Textboxen? SDL bietet IMO keine Möglichkeit UI-Widgets direkt zu zeichen, aber mit sdl_ttf kannst du Text ausgeben. (Mit SDL_Input und der 2D-Funktionalität kannst du dir natürlich dein vollständiges UI erstellen.

    Zur Lizenz:
    In konkreten Fällen wie deinem dürfen da nur Anwälte antworten. Und davon dürften hier verhältnismäßig wenige vorbeisehen. Generell darfst du auch für GPL Programme Geld verlangen und LGPL ist eine weniger Restriktive Lizenz, ließ dir einfach mal den Lizenztext durch (und zu diesem Thema gibt es einen Artikel im Magazin ganz unten im Forum)



  • ok danke für deine antworten,
    aber kannst du mir vielleicht helfen, wie ich eine textbox machen kann?
    Verstehe das nicht so ganz 😕
    will eigene Buttons und eingene Textboxen machen... aja und fenster zum verschieben ^^ also so kleine fenster im spiel, die man öffnen, verschieben und schließen kann
    wäre nett wenn du mir ein tutorial geben könntest,
    wo vielleicht erklärt wird wie man ne textbox macht, denke ma dann würde ich verstehen wie der rest geht

    Mfg Marius



  • Eine Textbox erstellst du indem du die Außenkanten zeichnest (als Linien) und dann mit SDL_ttf den Text hineinschreibst.
    Wenn du es genauer wissen willst kannst du dir den Quellcode von CEGUI anschauen, vielleicht gibts aber auch auf www.libsdl.org unter libs schon eine GUI Bibliothek für SDL.

    Zur LGPL:
    Solange du die Bibliotheken nur dynamisch links (also unter Windows als .dll) musst du denn Quellcode deines Programmes nicht veröffentlichen.
    Verkaufen kannst du es aber in jedem Fall, du müsstest sonst nur den Quellcode zur Verfügung stellen. (Was ich eigentlich schon tun würde --> Vorteil: die Community patcht das Spiel auch Jahre später noch, und es gibt unmengen von Mods)

    lg, bloodycross



  • Hallo

    Für Textboxen und Buttons also GUI-Elemente würde ich mir an deiner Stelle mal guichan anschauen. Einafach mal danach googlen. Da gibt es auch ein gut gepflegtes Forum.

    chrische



  • also, danke für eure antworten.

    Zum thema gui,
    ich habe mir mal guichan gedownloaded, verstehe da aber 0 ......

    also was ich brauche sind buttons und textboxen ..

    bei buttons weiß ich ja noch wie,
    nur nicht wie man umsetzt mit SDL...

    Meine Fragen,
    wie kann ich machen, das was passiert wenn ich inerhalb eines feldes drücke, z.b.

    If(clickfield(w,h)) {
    killall();
    Killyourself();
    }

    sowas in der art halt

    und immernoch wie mach ich nen Textfeld 😕

    danke für antworten

    Marius



  • Hallo

    Zu guichan gibt es doch tutorials und einen getting started seiten. Schau mal nach. das lohnt sich wirklich.

    chrische



  • wie kann ich machen, das was passiert wenn ich inerhalb eines feldes drücke

    du wertest die mouse-events aus und reagierst darauf.
    like this



  • ok danke,
    mit button habe ich verstanden.
    nur mit dem textfeld nicht 😕
    finde bei guichan nicht
    danke für eure hilfe,
    marius



  • Hallo

    Willst du eine statische TextBox dann ist Label dein Typ oder soll der Benutzer etwas eingeben können, dann musst du die textBox wählen.

    chrische



  • ja ich will das der benutzer was eingeben kann.
    und meine frage ist wie ich das ´machen kann

    marius



  • Guck dir die Beispielprogramme von Guichan an. Sorry, aber wenn du nichtmal in der Lage bist, dich da selber einzuarbeiten, dann kannst du deine Idee von einem Jump&Run in die Tonne treten.

    Und bevor du fragst, die Komponente heißt gcn::TextField.



  • ja sorry ^^
    war nur ein wenig faul und hatte keine Zeit am PC ..

    Naja danke für eure hilfe, denke ma schaff das schon ^^

    Marius


Anmelden zum Antworten