Hola amigos, necesito ayuda con esto, resulta que quiero que en mi juego suene cierto sonido cuando se alcanza cierta cantidad de puntos, hice un controlador y le puse en el evento step que cuando puntos sea mayor a xxx la variable "sonar" es verdadera y entonces dentro del código pongo el sonido y la variable sonar en cero, para que deje de sonar, pero no deja de sonar sino que suena muy mal como que se reproduce infinitamente. Traté de usar la función de sound_is_playing (si mal no recuerdo era así) y ya no se superponen pero suena en bucle aunque ponga loop false. Ayuda por favoor

Lo que ocurre es que siempre score es mayor a xxx y hace verdadera esa variable. Lo que deberias hacer es mejor utilizar una puntuación exacta... O sea, if score=100 suena tal. y ya podrías quitar la variable de control.

Otra cosa que se me ha ocurrido, por si las puntuaciones no son exactas, o sea, que puede que sumen de 5 en 5 y otras cosas de 10 en 10, por lo tanto igual no llega a ser exacto a 100.


//En create pones una variable de control, digamos por ejemplo

noise=1

//En step ponemos

if noise=1 and score>100

{
programación del sonido que tengas, sin loop ni nada.
noise=0
}


luego, si quieres que vuelva a sonar por ejemplo al llegar a 200, solo debes poner en step lo siguiente. Y al cumplir la condicion del código anterior, sonará y el mismo se parará al poner la variable en 0 de nuevo.


if score>200
{
noise=1
}