Logo Desarrollo


Crear disparador de efectos:

Una GUI ("interfaz gráfica de usuario), es una herramienta muy potente con una gran variedad de opciones. En esta ocación la utilizaremos para crear una pequeña ventana desde la cual podremos reproducir archivos.

Una gui puede estar compuesta de muchos elementos como texto, casillas de verificación, cuadros combinados, y una larga lista más. Sin embargo, hoy la utilizaremos con botones que disparen sonidos. Lo haremos de la siguiente manera, solo pondré 3 elementos, y luego explicaré que son:
Lo primero que debemos hacer es crear la lista de elementos que serán en este caso, los disparadores de los sonidos.
Esta lista de elementos tiene que estar en la parte automática del script, es decir, que no debe haber ningún atajo o comando return antes de la misma.

Gui, Add, Button, gEtiqueta1, risa
Gui, Add, Button, gEtiqueta2, Bomba
Gui, Add, Button, gEtiqueta3, Lluvia


En estas 3 líneas tenemos lo siguiente. El nombre del comando, en este caso, Gui.
El primer parámetro, que indica que vamos a añadir algo a esa Gui. Add.
El tercer parámetro, que indica que es lo que añadiremos, en este caso, button.
el cuarto parámetro es el nombre de la etiqueta, que es hacia donde va a dirigirse el intérprete cuando pulsemos en ese botón. Se utiliza escribiendo primero una letra g, y luego un nombre para la misma.
Y por último, el nombre del botón que va a aparecer en la ventana.


Hasta aquí ya tendríamos la ventana creada, sin embargo la misma aún no se visualizaría al abrir el script ya que falta un comando más, con el parámetro mostrar. Sería así.

Gui, Show,, Efectos de sonido


En este comando, el segudno parámetro nos indica que esa ventana debe ser mostrada. El tercero está vacío ya que ahí van las indicaciones de posicionamiento en la pantalla, cosa irreelevante por ahora. Y por último, el nombre que va a recibir esa ventana.
Nota: No siempre se pueden dejar parámetros en blanco en un comando, sin embargo cuando se está habilitado para hacerlo simplemente escribimos 2 comas juntas y seguimos con el resto.
Ya tenemos nuestra Gui creada, y visualizada. Ahora debemos indicar hacia donde irán esas etiquetas de cada botón al ser pulsados.
Una etiqueta cumple la misma función que un atajo de teclado, con la diferencia que la misma debe ser llamada desde algún lado. Se utiliza colocando su nombre y luego un signo de 2 puntos. Debajo escribiremos el, o los comandos, y por último un Return, para finalizar su acción.
De esta forma, nuestro script quedaría así:

Gui, Add, Button, gEtiqueta1, risa
Gui, Add, Button, gEtiqueta2, Bomba
Gui, Add, Button, gEtiqueta3, Lluvia
Gui, Show,, Efectos de sonido
Return


Etiqueta1:
SoundPlay Risa.mp3
Return


Etiqueta2:
SoundPlay Bomba.mp3
Return


Etiqueta3:
SoundPlay Lluvia.mp3
Return


^q::
ExitApp


En el caso de este script, los archivos que va a disparar deben estar en la misma ruta de la carpeta. Por defecto, se toma la raíz de la misma como ruta inicial. Y lógicamente los nombres de los archivos que usemos en el SoundPlay, debe coincidir con los que estén en ella.
Si nosotros tenemos el archivo AHK o exe en una carpeta llamada efectos, en este caso, los archivos deberán estar en la misma carpeta sueltos junto al script.
Sin embargo, si quisiéramos tener un subdirectorio con los audios tendríamos que hacer lo siguiente.
Dentro de la carpeta efectos, es decir la carpeta raíz, creamos un nuevo directorio llamado Sonidos.
Por lo que en el comando soundPlay escribimos la ruta de la siguiente forma;

SoundPlay Sonidos\Risa.mp3
SoundPlay Sonidos\Bomba.mp3
Etcétera.


Si el archivo se encuentra en una carpeta fuera de la raíz, deberemos escribir la ruta completa del mismo. Por ejemplo:

SoundPlay c:\Users\Administrador\Music\Lluvia.mp3


Si vamos a utilizar audios un poco extensos y necesitamos poder cortarlos en algún momento, la única forma de hacerlo es creando un botón que lleve a un soundPlay silencioso o inexistente, ya que el mismo no permite reproducir 2 cosas a la vez. Por ejemplo;

Etiqueta5:
SoundPlay Silencio.mp3
Return


Pueden agregar todos los audios que quieran siempre y cuando creen el comando gui coorespondiente, y su etiqueta asociada al SoundPlay.