PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fade-In / Out für Hintergrundmusik



chrizzio.
12.11.2007, 11:57
Tja, der Titel beschreibt schon das, wonach ich suche:

Gibt es Skripte, die mir möglichst unkompliziert ein Fade-In für meine Hintergrundmusik bzw. meine Hintergrundsounds einzustellen?

Ich bedanke mich schoneinmal im Voraus für die Antworten. :)

Viele Grüße
chrizzio

Edit: Ich hatte zuerst auch nach Fade-Out gefragt. Wie man aber im folgenden Beitrag sehen kann, hat sich das schon erledigt. ;)

V-King
12.11.2007, 15:03
Ähm...
http://npshare.de/files/36/3166/da.png

Wie wärs damit? o.o

Zumindest mal fürs Fade-Out.

Nemica
12.11.2007, 19:47
Du könntest fürs Fade in n paar Play-BGM-Befehle hintereinander machen,
jedes mal die selbe BGM, nur die Lautstärke höher. Und waits dazwischen.

Kelven
13.11.2007, 09:50
Ich hab keine Lust das mit Ruby zu lösen. :A Deswegen seltsamer Pseudocode. x ist die Nummer der Variable, die du für das Volume benutzt. So müsste ein Fade-In funktionieren:



Variable[x] = 0
Loop
Script: Audio.bgm_play("Name der Datei", $game_variables[x], 100)
If Variable[x] = 100
Break Loop
else
Variable[x] + 5
end
Wait 10
Repeat Above

Ascare
13.11.2007, 13:47
Ja, so eine ziemlich ähnliche Methode habe ich auch dafür gemacht, allerdings etwas Arbeit erspart in dem ich das Script in ein Common Event gepackt habe.
Und den Eintrag in Audio.bgm_play("Audio/BGM/" + $musik geändert habe. Dann kann man im Event einfach per call script $musik = "namedeslieds" den fade in für jede BGM nehmen. Und dies per Switch als PP im Common Event aufrufen.

Natürlich wäre es am Besten und am stilvollsten, die Klasse Game_system umzuschreiben und den Fade-in für alle (also ME, BGS usw) zu nutzen und eine richtige Zeit einzubauen, also z.B. 5 sec für den kompletten Fade-In von 0 auf 100 anstatt mit wait frames zu arbeiten...aber so wie Kelven es gemacht hat, geht's auch. :)

Kelven
13.11.2007, 13:51
Natürlich wäre es am Besten und am stilvollsten, die Klasse Game_system umzuschreiben und den Fade-in für alle (also ME, BGS usw) zu nutzen und eine richtige Zeit einzubauen, also z.B. 5 sec für den kompletten Fade-In von 0 auf 100 anstatt mit wait frames zu arbeiten...

Ja, das wäre besser. Ich hätte das Beispiel auch komplett in Ruby geschrieben, wenn ich verstehen würde, wie man Waits in Ruby realisiert.

chrizzio.
13.11.2007, 15:39
@V-King: Oh sorry.. ich sollte vielleicht mal den Monitor sauberwischen, dann seh ich das nächstes Mal vielleicht. *drop*

@nightgirl1200: Ja, darauf bin ich auch schon gekommen, ich wollte halt vorher nur mal nachfragen, ob es nicht eine andere Möglichkeit gibt, die sich kompfortabler gestaltet.

@Kelven+Ascare: Ah! Vielen Dank. Funktioniert!

Edit:
Nachdem ich es in einem externen Projekt getestet hatte, und dies dort einwandfrei funktionierte, baute ich diese Fade In funktion auch in mein Hauptprojekt ein. Dort kommt irgendwie gleich nach dem Start des Spiels ein "Game.exe hat einen Fehler entdeckt und muss beendet werden."
.. Tja.. Also es ist alles richtig übernommen bzw. auch wieder angepasst worden, das ist nicht das Ding. Selbst wenn ich die "neuen" Events in das Testprojekt kopiere, funktioniert es dort. Irgendwas muss also bei meinem Hauptprojekt mit dem Event kollidieren.

Meine Zusatz-Skripts können es bsp. nicht sein, die hab ich einfach mal alle (zuzüglich Game_System) ins Test-Projekt kopiert, und dort funktioniert auch noch alles.

Edit2:
Okay, es funktioniert nun doch! Es lag irgendwie an der BGM-Datei! (Einfach mal rausgeschmissen und neu importiert, dann gings... Seltsam..

Danke ihr beiden, ihr kommt auf jeden Fall in die Credits.