Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

06.04.2015, 21:45

SDL_SetRenderDrawColor

Hallo Community,

dürfte ich dich kurz fragen wozu die oben genannte Funktion gut ist ? Warum braucht der Renderer eine Farbe zum zeichnen ? 8|
Muss ich das mit angeben ? Lazyfoo's Tutorial sowie die Wiki Seite waren leider weniger aufschlussreich - existiert das Ganze nur in SDL ?

Zudem finde ich den Codingstyle ein wenig fragwürdig:

C-/C++-Quelltext

1
2
                int imgFlags = IMG_INIT_PNG;
                 if (!(IMG_Init(imgFlags) & imgFlags))


Wäre:

C-/C++-Quelltext

1
if (!(IMG_Init(IMG_INIT_PNG) & IMG_INIT_PNG))


Nicht das selbe ? Und ist der Bit Operator hier wirklich von Nöten ? Werden nicht nur Int's miteinander verglichen ?

Könnte ich stattdessen:

C-/C++-Quelltext

1
if (IMG_Init(IMG_INIT_PNG) != IMG_INIT_PNG)


machen ?

Lg

2

06.04.2015, 22:40

Genau, der erste Schnipsel ist der selbe wie der zweite. IMG_Init gibt eine Bitmaske zurück, die angibt, welche Formate aktuell initialisiert sind. Wenn Du Diese Funktion das erste mal aufrufst, gibt sie dir also genau das zurück, was du ihr gegeben hast.

3

06.04.2015, 22:44

Ahh ok und da es eine Bitmaske zurück gibt ist das dritte Beispiel falsch, richtig (Sonst verstehe ich denn Sinn dahinter immer noch nicht, warum hier zwingen Bit Operanten verwendet werden müssen) ?
Das mit der SDL_SetRenderDrawColor Funktion verstehe ich allerdings noch nicht so ganz ... etwas Lesestoff zum Rendern sowie den dnterschiedlichen Optionen, welche man dabei hat wäre vielleicht ganz gut für mich :).

Lg

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Dareptor« (06.04.2015, 22:53)


Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

4

06.04.2015, 23:34

Ja, das mit den Bitmasken hast du richtig erkannt.
Und bezüglich Lesematerial hoffe ich, dass dir das hier etwas weiterhilft: https://wiki.libsdl.org/CategoryRender

edit: Übersehen, du hast die Wiki Seiten ja schon durch. Dann empfehle ich dir dieses Buch: http://www.amazon.de/SDL-Game-Developmen…/dp/1849696829/
Wenn ich dich richtig verstehe: die Farbe benutzt der Renderer als "Hintergrund" beim clearen. ;)

Zitat

Use this function to clear the current rendering target with the drawing color.

Quelle: https://wiki.libsdl.org/SDL_RenderClear?…tegoryStruct%29
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

5

07.04.2015, 00:25

Danke vielmals, eure Antworten haben mir sehr geholfen ^^ !

Werbeanzeige