PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [RMXP/RGSS] BattleAnimationen und Musik/Sound-Effekte abspielen?



Alan
11.10.2010, 19:52
Hallo Leute,

ich hätte zwei Fragen bezüglich RGSS an euch die sicher ganz einfach zu beantworten sind, aber ich habe leider weder in der Hilfe des RMXP noch über Google eine Antwort gefunden. Und zwar...

1) Wie kann man ganz normale BattleAnimations über RGSS abspielen? Also genauso wie mit dem Event-Kommando 'Show Battle Animation', nur über Ruby? Die Klasse Animation hab ich schon entdeckt, nur hat die leider keine "play()" Methode...

2) Sehr ähnlich wie 1), allerdings geht's um Musik: wie kann man über Ruby Musik und/oder Soundeffekte abspielen?

Das wär's schon, wie gesagt, zwei sehr grundlegende Sachen, nur kann ich leider keine Antwort darauf finden... -_-


Danke im Voraus,



Alan

Doktor von Stein
12.10.2010, 10:35
zu 2) Ich kopiere jetzt mal die gesamte Seite in der RMXP-Hilfe

Audio
The module that carries out music and sound processing.

Module Methods

Audio.bgm_play(filename[, volume[, pitch]])
Starts BGM playback. Sets the file name, volume, and pitch in turn.

Also automatically searches files included in RGSS-RTP. File extensions may be omitted.

Audio.bgm_stop
Stops BGM playback.

Audio.bgm_fade(time)
Starts BGM fadeout. time is the length of the fadeout in milliseconds.

Audio.bgs_play(filename[, volume[, pitch]])
Starts BGS playback. Sets the file name, volume, and pitch in turn.

Also automatically searches files included in RGSS-RTP. File extensions may be omitted.

Audio.bgs_stop
Stops BGS playback.

Audio.bgs_fade(time)
Starts BGS fadeout. time is the length of the fadeout in milliseconds.

Audio.me_play(filename[, volume[, pitch]])
Starts ME playback. Sets the file name, volume, and pitch in turn.

Also automatically searches files included in RGSS-RTP. File extensions may be omitted.

Audio.me_stop
Stops ME playback.

Audio.me_fade(time)
Starts ME fadeout. time is the length of the fadeout in milliseconds.

Audio.se_play(filename[, volume[, pitch]])
Starts SE playback. Sets the file name, volume, and pitch in turn.

Also automatically searches files included in RGSS-RTP. File extensions may be omitted.

When attempting to play the same SE more than once in a very short period, they will automatically be filtered to prevent choppy playback.

Audio.se_stop
Stops SE playback.

Keine Ahnung wie du das in der Hilfedatei nicht finden konntest.

Cornix
12.10.2010, 11:31
Dies ist die Eventfunktion aus dem Interpreter um Battle Animations ab zu spielen.

def command_207
# Get character
character = get_character(@parameters[0])
# If no character exists
if character == nil
# Continue
return true
end
# Set animation ID
character.animation_id = @parameters[1]
# Continue
return true
endDie wichtige Zeile hierbei ist folgende:

character.animation_id = @parameters[1]Um also eine Animation bei einem Charakter oder Event abspiele zu lassen muss man ihm eine animation_id geben.
Folglich musst du innerhalb deines Scriptes lediglich einem Event oder Charakter ebenfalls eine animation_id zuteilen und er wird von selbst den zugehörigen Effekt spielen.


Hier ein Beispiel für das abspielen von Animationen über custom script innerhalb eines Events:

event = $game_map.events[1]
event.animation_id = 5
Dies würde die Animation mit der Indexnummer 5 an dem Event mit der Nummer 1 abspielen.
Bitte beachten! Die Game_Map beginnt bei der nummerierung von Events nicht wie üblich mit 0 sondern mit 1. Das erste Event besitzt auch den Index 1.

Für die Musik musst du nur, wie Salamie bereits gezeigt hat, folgende Zeile verwenden:

Audio.se_play(filename[, volume[, pitch]]) Als Parameter benötigt die Funktion Audio.se_play nur den Filename. Die Lautstärke und Pitch sind nicht zwingend nötig, können aber alternativ hinzugefügt werden.
Bei dem Filename ist wichtig an zu merken, dass du den zugehörigen Pfad angeben musst, ungefähr so:

Audio.se_play("Audio/SE/001-System01")Dies würde den Soundeffect "001-System01" mit einer Lautstärke von 100% abspielen.

Alan
12.10.2010, 13:32
@Salamie: Ich hab' keine Ahnung wie ich das übersehen konnte... ich könnte schwören gestern die Hilfedatei (und Google) nach allen möglichen relevanten Begriffen durchsucht zu haben - jedenfalls danke ;)

@Cornix: Verstehe, RPG::Sprite führt also Animationen aus... Steht in der Hilfe ja leider nirgendwo, wenn man in die Seiten von "Animation" reinschaut ^_^' Jedenfalls ist das gleich doppelt gut dass das von RPG::Sprite gehandhabt wird, weil da steht in der Hilfe-Datei die Implementierung. Ich verwende ja für meine Skripte eine eigene Klasse für Charakter-Sprites, da kann ich mir dort anschauen wie's gemacht wird und dann entsprechend auf meine Bedürfnisse anpassen.


Vielen Dank euch beiden!


Gruß,



Alan