Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: magicdidac en Octubre 10, 2015, 11:48:45 AM

Título: Problema con texto de RPG [Solucionado]
Publicado por: magicdidac en Octubre 10, 2015, 11:48:45 AM
Buenos días, tardes, noches

Mi problema es que he hecho un script (https://gyazo.com/17c6af349cfb9198c9ab9df7b8306bf6) para hacer textos automáticos, junto a un objeto (Evento Create: https://gyazo.com/8cbaf42ca34fa80ac3be36b04a959d57 , Evento draw: https://gyazo.com/b969c61ef7fb4737593b784ce3335eb2 y https://gyazo.com/79e4e15a4bd0955ae19d70658713e586). La cosa es que las letras salen bien una detrás de otra, como en los RPG. Pero el problema es que en los RPG al escribirse el texto suena un sonido cada vez que sale una letra, es decir si la velocidad de el texto es más lenta suena más lento y si es más rápida suena más rápida. He intentado lo siguiente: Evento Draw: https://gyazo.com/854326b543bc839f96212aa6cb700194 , pero suena siempre de la misma manera, es decir no varia la velocidad. El sonido es un *bip* que se repite hasta que el texto se acabe de escribir, pero cuando quiero hacer que un texto vaya más lento sigue sonando igual de rápido. Alguien tiene alguna idea de como solucionar o plantear de otra forma este problema.

Gracias por adelantado.
Título: Re:Problema con texto de RPG
Publicado por: Guacusio en Octubre 10, 2015, 09:26:37 PM
Hay una variable que no está claro para qué se usa (timer), pero para solucionar el problema te puedes servir de ella. Por cierto, tienes códigos en el evento draw que no están dibujando nada y debieras pasarlos al evento step.

Donde reproduces el sonido, en vez de reproducirlo cada step, debieras hacerlo sólo cuando el texto a mostrar es distinto al texto del step anterior. Para eso, la forma más sencilla es agregar un if antes de reproducir el sonido:

if print!=string_copy(text,1,timer)
    audio_play_sound(sound,1,false);


Otra cosa: el segundo argumento de la función string_copy debe ser mayor o igual a 1.
Título: Re:Problema con texto de RPG
Publicado por: magicdidac en Octubre 11, 2015, 01:30:41 AM
Cita de: Guacusio en Octubre 10, 2015, 09:26:37 PM
Hay una variable que no está claro para qué se usa (timer), pero para solucionar el problema te puedes servir de ella. Por cierto, tienes códigos en el evento draw que no están dibujando nada y debieras pasarlos al evento step.

Donde reproduces el sonido, en vez de reproducirlo cada step, debieras hacerlo sólo cuando el texto a mostrar es distinto al texto del step anterior. Para eso, la forma más sencilla es agregar un if antes de reproducir el sonido:

if print!=string_copy(text,1,timer)
    audio_play_sound(sound,1,false);


Otra cosa: el segundo argumento de la función string_copy debe ser mayor o igual a 1.

Gracias por la ayuda. Ahora lo voy a modificar. PD: Ya lo he modificado y ¡funciona! Te estoy enormemente agradecido.