collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Sound per Tastendruck ein/aus stellen  (Gelesen 1668 mal)

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Sound per Tastendruck ein/aus stellen
« am: Dezember 20, 2008, 17:15:23 »
Ich würde in meinem Spiel gerne die Möglichkeit einbauen das man per Tastendruck (nehmen wir mal L) die Musik an und aus stellen kann.

Das man das wahrscheinlich per Common Event einstellt ist mir schon relativ klar. Hab dann ne Bedingung ausgewählt. Falls Taste L gedrückt wird passiert....tja...und jetzt kommt mein Problem...ich finde nix wo ich die Sounds auf 0% Lautstärke stellen kann oder halt komplett ausstellen kann. Kann mir jemand sagen wie ich das hinbekomme?

Re: Sound per Tastendruck ein/aus stellen

Offline Stef-san

  • Eventmeister
  • ***
  • Beiträge: 307
    • Space Live
Re: Sound per Tastendruck ein/aus stellen
« Antwort #1 am: Dezember 20, 2008, 18:19:40 »
es geht schon mit Comment events
"Fade Out BGM" Problem hierbei ist nur, dass wieder anmachen des Soundes, weil man ja nicht sagen kann, den Sound von MapX spielen mit dem normalen Editor.
Denke mal ist per Script moeglich am besten.

current projects
Arco Iris - A Fading World
School Days (Co-Project with Klex)

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #2 am: Dezember 28, 2008, 05:37:04 »
ok, danke erst mal...aber das ist ja dann leider wie du schon sagtest nur eine halbe sache. kann mir niemand sagen wie ich das hinbekommen kann?

Re: Sound per Tastendruck ein/aus stellen

ERZENGEL

  • Gast
Re: Sound per Tastendruck ein/aus stellen
« Antwort #3 am: Dezember 28, 2008, 10:40:53 »
Irgendwo über Main einfügen:
class << Audio

  HWND = ::Win32API.new('user32', 'GetActiveWindow', nil, 'I').call.freeze

  Initialize = ::Win32API.new('RGSS202E', 'RGSSAudioInitialize', 'I', 'I')
  Finalize   = ::Win32API.new('RGSS202E', 'RGSSAudioFinalize',   nil, 'I')

  def on()
    Initialize.call(HWND)
  end

  def off()
    Finalize.call
  end

end

Mit folgenden Code schaltest du die Musik an: Audio.on
Mit folgenden aus: Audio.off

Ersteres müsstest du auf jeden Fall in Main unter end nochmals einfügen, da der RGSS Player versucht den Audio Context abzuschalten, obwohl er möglicherweise nicht existiert, z.B. durch Audio.off.

Dürfte außerdem auch mit dem RGSS1/RPGXP funktionieren, wenn RGSS202E im Code durch RGSS102E zu ersetzt wird.

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #4 am: August 18, 2009, 08:12:49 »
Irgendwo über Main einfügen:
class << Audio

  HWND = ::Win32API.new('user32', 'GetActiveWindow', nil, 'I').call.freeze

  Initialize = ::Win32API.new('RGSS202E', 'RGSSAudioInitialize', 'I', 'I')
  Finalize   = ::Win32API.new('RGSS202E', 'RGSSAudioFinalize',   nil, 'I')

  def on()
    Initialize.call(HWND)
  end

  def off()
    Finalize.call
  end

end

Mit folgenden Code schaltest du die Musik an: Audio.on
Mit folgenden aus: Audio.off

Ersteres müsstest du auf jeden Fall in Main unter end nochmals einfügen, da der RGSS Player versucht den Audio Context abzuschalten, obwohl er möglicherweise nicht existiert, z.B. durch Audio.off.

Dürfte außerdem auch mit dem RGSS1/RPGXP funktionieren, wenn RGSS202E im Code durch RGSS102E zu ersetzt wird.

cool danke, lässt sich super per event starten :)

sorry das ich erst so spät antworte, aber jetzt hätte ich noch eine frage dazu. wie bekomm ich es hin das ich im Menü einen Punkt namens "Sound" habe, wo beim draufgehen rechts im Fenster eine Auswahlmöglichkeit angezeigt wird (oder von mir aus auch ein popup/fenster auf geht) ob ich Sound haben will oder nicht und je nachdem was ich auswähle verschwindet der Sound oder startet wieder?

Re: Sound per Tastendruck ein/aus stellen

Offline eugene222

  • König der Lügner
  • VX-Meister
  • ****
  • Beiträge: 675
Re: Sound per Tastendruck ein/aus stellen
« Antwort #5 am: August 18, 2009, 18:58:13 »
Mach doch diese Abfrage im Eventeditor, mit den Möglichkeiten.
Dann stellste ein, wenn man L drückt kommt das Choice Fenster mit den Möglichkeiten
Sound an und Sound aus. Dann halt in jede Choice das Event zu an- bzw. ausschalten des Sounds.

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #6 am: April 22, 2010, 12:46:36 »
sorry fürs hochholen aber irgendwie will das nicht funktionieren. hab es jetzt so:



Der Switch Intro Ende startet logischerweise wenn das Intro vorbei ist und man selbst die Figur bedienen kann. Allerdings wechselt die Map nachdem der Schalter aktiviert wurde, hat das irgendwelche auswirkungen?

Denn so wie es jetzt ist kann ich so viel L drücken wie ich will, es passiert garnichts.

Re: Sound per Tastendruck ein/aus stellen

Offline Boogatie Roll

  • VX-Meister
  • ****
  • Beiträge: 676
  • Java[Spiele] Programmierer
    • BRolls Game Website
Re: Sound per Tastendruck ein/aus stellen
« Antwort #7 am: April 22, 2010, 12:52:56 »
Ich kann dir sagen warum.
Weil der Maker andere Tasten verwendet, ist zwar bescheuert, aber ist halt so.
Drück mal beim spielen F1, und geh auf Keyboard.
Dort schaust du bei welcher Teste "L" dahinter steht.
Diese Taste musst du drücken dann.
In deinem Fall die Taste "V" auf der Tastatur, die im Maker die Taste "L" belegt.
Kapiert?
Wenn nicht ich kanns nochmal genauer erklären.^^

Also starte dein Projekt einfach mal und drück dann "V" anstatt "L".

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #8 am: April 22, 2010, 13:54:44 »
ok, das muss man erst mal wissen...jetzt gings, danke dir ^^

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #9 am: November 26, 2011, 15:20:05 »
alter thread, neues problem


wenn ich den sound durch den tastendruck ausschalte und dann wieder anschalte dauert es einen moment bis die BGM anfängt zu laufen. Bevor sie startet freezed das spiel auch kurz.

liegt das vielleicht hier dran? "call.freeze" ? kann ich das so ändern dass es ohne wartezeit gleich geändert wird?

allgemein scheint das spiel ganz schön zu hängen wenn es sound abspielen muss, z.b. auch nach nem kampfsieg.

Mein Main:
#==============================================================================
# ** Main
#------------------------------------------------------------------------------
#  After defining each class, actual processing begins here.
#==============================================================================
begin
  Graphics.freeze
  $scene = Scene_Title.new
  $scene.main while $scene != nil
  Graphics.transition(30)
rescue Errno::ENOENT
  filename = $!.message.sub("No such file or directory - ", "")
  print("Unable to find file #{filename}.")
end
Audio.on

Das Audioscript von oben hab ich auch drinne und starte wie gesagt per tastendruck-event die soundauswahl
« Letzte Änderung: November 26, 2011, 15:43:46 von DimiFW »

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #10 am: Dezember 06, 2011, 15:20:50 »
sorry für den doppelpost, aber kann mir denn keiner helfen? das soundproblem macht mein ganzes spiel kaputt und ich weiß nicht woran es liegt...

edit:

die probleme nochmal ganz genau erklärt:

- schalte ich per tastendruck den sound aus und danach wieder an startet die backgroundmusik erst entweder wieder nach nem kartenwechsel wenn ichs in den eigenschaften der karte einstelle. oder wenn ich die musik als paralleler prozess laufen lasse auf der map dann startet die erst wenn das event im aktuellen kartenausschnitt ist. und in beiden fällen erst nach nem freeze von ca. 10 sekunden.

- genau so freezed das spiel für 10 sekunden wenn ich vorher sound aus und wieder an gemacht habe, wenn ich in nem kampf gewinne und der "siegsound" kommt.
« Letzte Änderung: Dezember 06, 2011, 15:27:46 von DimiFW »

Re: Sound per Tastendruck ein/aus stellen

Offline Tüp

  • RTP-Mapper
  • *
  • Beiträge: 33
Re: Sound per Tastendruck ein/aus stellen
« Antwort #11 am: Dezember 06, 2011, 15:49:33 »
Ich kann dir da nicht helfen...die community ist hier ja eher ziemlich ruhig.
Vielleicht erkundigst du dich auch bei anderen Foren mal ? Es gibt ja auch noch aktivere ^^

Re: Sound per Tastendruck ein/aus stellen

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Sound per Tastendruck ein/aus stellen
« Antwort #12 am: Dezember 06, 2011, 17:01:28 »
Ganz einfach. Hier das abgeänderte Script:
class << Audio

  HWND = ::Win32API.new('user32', 'GetActiveWindow', nil, 'I').call.freeze

  Initialize = ::Win32API.new('RGSS202E', 'RGSSAudioInitialize', 'I', 'I')
  Finalize   = ::Win32API.new('RGSS202E', 'RGSSAudioFinalize',   nil, 'I')

  def on()
    Initialize.call(HWND)
    @last_bgm.play
    @last_bgs.play
  end

  def off()
    @last_bgm = RPG::BGM::last
    @last_bgs = RPG::BGS::last
    Finalize.call
  end

end

Sollte funktionieren.
PDM's Gameplays
Skype-Name: lordpdm

Re: Sound per Tastendruck ein/aus stellen

Offline DimiFW

  • Database-Verunstalter
  • **
  • Beiträge: 102
    • Freewar
Re: Sound per Tastendruck ein/aus stellen
« Antwort #13 am: Dezember 07, 2011, 06:01:36 »
vielen dank pdm, das löst schon mal das problem mit der hintergrundmusik. ein freeze kommt zwar nach der auswahl von "ja" trotzdem, der ist aber nicht schlimm, da ich da vorher nen text einblenden kann wie "dauert kurz, bitte warten bla bla"...hauptsache die bgm startet gleichzeitig mit dem spiel dann wieder. jetzt besteht aber immer noch das problem dass wenn ich den sound ausstelle und wieder an nach nem kampf der "sieg-sound" erst nach nem kurzen freeze startet. weißt du vielleicht woran das liegen kann?

 


 Bild des Monats

rooftop party

Views: 3582
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal