Hallo!
Ich habe ein kleines Problem(-chen). Nämlich habe ich 2 Variablen, draw_question & draw_gameover. Wenn eine der beiden auf true steht, wird das jeweilige im Controller-Objekt gezeichnet, also entweder die Frage oder der "Game-Over" Schirm.
Gezeichnet wird das ganze natürlich im Draw-Event, und im Step-Event wird dann überprüft, ob auf den Button geklickt wird/wurde, und dementsprechend Reagiert. Sobald eine dieser Variablen auf true steht, wird der jeweilige Sound abgespielt. Bei einem klick auf den Button, hört dieser sofort auf.
Allerdings wird der SOund trotz abfrage 2x mit wenigen Millisekunden verzögerung gestartet, ich vermute, der Step ist schneller vorbei, als die Funktion is_playing() das ganze überprüfen kann.
obj_controller -
Alles anzeigen
Ich habe mir überlegt, wenn eine der Variablen auf true steht, einen Alarm auszulösen (in weniger als 2 Steps), der den Sound abspielt.
Die andere Methode wäre halt, mit einer Variable zu arbeiten, und das in jedem Step zu prüfen.
Also meine Frage: Brauche ich eine extra Variable oder ein Alarm, nur um dieses Problem(-chen) zu lösen?
Danke an alle!
Ich habe ein kleines Problem(-chen). Nämlich habe ich 2 Variablen, draw_question & draw_gameover. Wenn eine der beiden auf true steht, wird das jeweilige im Controller-Objekt gezeichnet, also entweder die Frage oder der "Game-Over" Schirm.
Gezeichnet wird das ganze natürlich im Draw-Event, und im Step-Event wird dann überprüft, ob auf den Button geklickt wird/wurde, und dementsprechend Reagiert. Sobald eine dieser Variablen auf true steht, wird der jeweilige Sound abgespielt. Bei einem klick auf den Button, hört dieser sofort auf.
Allerdings wird der SOund trotz abfrage 2x mit wenigen Millisekunden verzögerung gestartet, ich vermute, der Step ist schneller vorbei, als die Funktion is_playing() das ganze überprüfen kann.
obj_controller -

GML-Quellcode
- if (draw_gameover) /* ODER */ if (draw_question)
- {
- if (!sound_isplaying(snd_hintergrund))
- {
- sound_play(snd_hintergrund);
- }
- if (mouse_x > room_width/2-200 and mouse_x < room_width/2+75 and mouse_y > room_height/4+125 and mouse_y < room_height/4+175 and mouse_check_button(mb_left))
- {
- sound_stop(snd_hintergrund);
- draw_gameover = false; /* ODER */ draw_question = false;
- instance_create(x+1,y+1,next_object);
- }
- }
Ich habe mir überlegt, wenn eine der Variablen auf true steht, einen Alarm auszulösen (in weniger als 2 Steps), der den Sound abspielt.
Die andere Methode wäre halt, mit einer Variable zu arbeiten, und das in jedem Step zu prüfen.
Also meine Frage: Brauche ich eine extra Variable oder ein Alarm, nur um dieses Problem(-chen) zu lösen?
Danke an alle!
