Sounds (8.1) - Musiklücke (MIDI) nach erstem Durchlauf nach Raumübergang

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Sounds (8.1) - Musiklücke (MIDI) nach erstem Durchlauf nach Raumübergang

    Werte Community,

    da ich keinen Fehler in meinem Script sehe, wende ich mich vorsichtig an Euch.

    Situation: Ich möchte zwei MIDI-Dateien (Intro und Loop, ohne Preload) über zwei Räume abspielen lassen, wobei der Loop (normalerweise) funktioniert (das geht ja durch die Entfernung der Stille am Ende des Tracks). Ich habe hierfür ein persistentes Objekt in beide Räume gesetzt (da es in nur einem Raum nicht funktioniert), welches ich mit nachfolgenden Scripten versehen habe.
    Problem: Es entsteht eine Musiklücke nach dem ersten und vor dem zweiten Durchlauf des Loops, wenn man den zweiten Raum betritt, ohne das Intro abgewartet zu haben (obwohl der Loop anderweitig funktioniert).

    Create Event

    GML-Quellcode

    1. if room = room_file_menu {
    2. menu_music_intro = 1
    3. sound_play(snd_menu_intro)
    4. alarm[0] = 320 }
    5. else if room = room_char_menu and menu_music_intro != 2 {
    6. menu_music_intro = 0 }
    7. else if menu_music_intro = 0 {
    8. sound_loop(snd_menu_main) }


    Alarm[0] Event

    GML-Quellcode

    1. menu_music_intro = 2
    2. sound_loop(snd_menu_main)


    Anzumerken ist, dass ich noch Anfänger in GML (beziehungsweise allgemein im Programmieren) bin.
    Falls jemand eine Lösung kennt und sie preisgibt, wäre ich sehr dankbar.
    Danke für's Lesen.
  • versuch mal statt:

    GML-Quellcode

    1. if room = room_file_menu{ code... }

    so zu schreiben und das bei allen abfragen mit =

    GML-Quellcode

    1. if room == room_file_menu{ code... }

    statt einem = zwei == zuverwenden, vll könnte das auswirkungen haben das es funktioniert.

    verwende dies aber nur bei operatoren also nicht bei zuweisungen von variablen:

    GML-Quellcode

    1. if (image_index == 0)
    2. {
    3. code...;
    4. }
    5. image_index = 2;
    6. direction = 4;
    7. etc.;