SDL Effekte -> Wie erstellt man sowas? + Threads


1nf1n1ty

Member
Joined
Jul 19, 2006
Messages
334
ICQ
146827652
Hi Leute,

öhm ja ich experimentiere momentan ein wenig mit SDL rum und habe mich jetzt gefragt, wie man wohl solche Effekte hinbekommt. ich meine solche aus diversen 2D Games, sei es von Zaubersprüchen oder bei einem bestimmten Schlag oder was auch immer. werden die mathematisch irgendwie berechnet? Ich kann mir nicht so richtig vorstellen wie man sowas codet deswegen wäre ich für Tips dankbar :)

Edit: Mir ist nochwas eingefallen, was ich gerne wissen möchte. Und zwar habe ich zuvor immer funktionale Applikationen programmiert. Wie läuft das mit Threads ab? SDL hat ja so ein Thread ding drin.

Gehen wir mal aus ich code ein Rollenspiel:
Ich stelle mir z.B. vor, dass ich einen Thread für Soundeffekte habe, einen anderen für Hintergrundmusik, dann einen für KI (wenn man das so nennen kann) einen für die Tastenabfrage. Reicht das oder braucht man mehr? Wie kommunizieren die Threads untereinder? Wenn ich z.b. aus einer Stadt gehe das Musik dann anders wird oder wenn jmd eine Taste drück, dass das Männchen schlägt und ein Sound abgespielt wird?

Es reicht mir schon, wenn ihr erzählt wie ihr sowas macht/machen würdet. Dankbar wäre ich aber auch für Konkrete Beispiele/Codes/Infos über Thread/etc.
 
1nf1n1ty said:
Hi Leute,

öhm ja ich experimentiere momentan ein wenig mit SDL rum und habe mich jetzt gefragt, wie man wohl solche Effekte hinbekommt. ich meine solche aus diversen 2D Games, sei es von Zaubersprüchen oder bei einem bestimmten Schlag oder was auch immer. werden die mathematisch irgendwie berechnet?

Ist eine Moeglichkeit, die andere ist schlicht und
einfach die, dass man dafuer vorgefertigte
Sprites mit Transparenz und mehrere Layer hat.
Edit: Mir ist nochwas eingefallen, was ich gerne wissen möchte. Und zwar habe ich zuvor immer funktionale Applikationen programmiert. Wie läuft das mit Threads ab? SDL hat ja so ein Thread ding drin.

Richtig, und dieses "Ding" bringt eigentlich alles mit
was Du brauchst, sowohl fuer die Kommunikation
zwischen den einzelnen Threads wie auch fuer
das erstellen und zerstoeren von ebendiesen.

Das wird in den meisten guten SDL Howtos behandelt,
ergo waere es sehr zu empfehlen ein solches zu lesen.


Fuchs
 
Ok Threadsdoku gefunden, werde ich lesen.

Wie würde sowas mathematisches z.B. aussehen?

Wieviele Threads sollte man machen bzw. welchen Wert nicht überschreiten?

Sonst noch Erfahrungsberichte?
 
1nf1n1ty said:
Ok Threadsdoku gefunden, werde ich lesen.

Wie würde sowas mathematisches z.B. aussehen?

Kommt darauf an was Du machen willst.
Ein paar nette Funktionen aus der
Geometrie, Algebra und dem Vektorenrechnen
sind aber ziemlich hilfreich.

Wie dem auch sei, die meisten (vor allem
komplexeren Effekte) wuerde ich schlicht
und einfach ueber ein sprite
(nicht das Getraenk) mit Transparenz basteln.
Wieviele Threads sollte man machen bzw. welchen Wert nicht überschreiten?

Depends, aber die Musik in einen eigenen Thread auszulagern
ist sicher schon mal eine gute Idee.
Darueber kann man allerdings vortrefflich diskutieren,
und zwar lange.
Sonst noch Erfahrungsberichte?

Nicht von meiner Seite her, ich
schreibe nichts mit SDL, meine Spiele
waren, abgesehen davon, dass sie ohne
Graphik auskommen (Mastermind felst),
aus einem komplett anderem Genre.

(Okay, in QBASIC ((lang ists her und ja,
ich schaeme mich dafuer)) habe ich einmal
was Rollenspielaehnliches geschrieben,
aber das kann man nun wirklich nicht vergleichen :wink: )
 
1nf1n1ty said:
Hi Leute,

öhm ja ich experimentiere momentan ein wenig mit SDL rum und habe mich jetzt gefragt, wie man wohl solche Effekte hinbekommt. ich meine solche aus diversen 2D Games, sei es von Zaubersprüchen oder bei einem bestimmten Schlag oder was auch immer. werden die mathematisch irgendwie berechnet? Ich kann mir nicht so richtig vorstellen wie man sowas codet deswegen wäre ich für Tips dankbar :)
Belies dich dahingehend mal zu "Partikeleffekten".
Damit kann man sehr schöne Dinge herstellen.
Theorie gibts auf delphig.com
Das ist zwar ne OpenGL-Seite, aber du kannst du z-Koordinaten für den Anfang ignorieren und statt eines 3D-Objektes irgendein Sprite darstellen.
 
Back
Top