• No se han encontrado resultados

Ventanas, highscores, y otros pop-ups

In document Lenguaje GML (página 69-71)

En esta sección vamos a aprender algunas funciones que pueden ser usadas para mostrar ventanas con videos, imágenes, etc...para mostrar mensajes y preguntas al jugador, y mostrar la tabla de mayores puntajes. Esta sección está dividida en los temas:

Ventanas

Muchos juegos tienen ventanas, las cuales pueden mostrar un video, una imagen o algún texto. Frecuentemente son usadas al principio del juego (como intro), al principio de un nivel, o al final del juego (p.e. los créditos). En Game Maker, dichas ventanas con texto, imágenes o video pueden mostrarse en cualquier momento del juego, y mientras esto sucede, el juego es temporalmente pausado. Estas son las funciones:

show_text(fname,full,backcol,delay)

Muestra una ventana con texto. fname es el nombre del archive de texto (.txt o .rtf). Debes poner este archivo en el directorio del juego tu mismo. También, cuando crees una versión independiente del juego (stand-alone), no debes olvidar incluir este archive ahí. full indica si se debe mostrar en pantalla completa. BACKCOL es el color de fondo, y DELAY es el retardo en segundos antes de volver al juego (aunque el jugador siempre tendrá la posibilidad de volver al juego manualmente, haciendo clic con el Mouse)

show_image(fname,full,delay)

Muestra una ventana con una imagen. fname es el nombre del archivo de imagen (únicamente .bmp, .jpg y .wmf), pero debes poner los archivos en el directorio del juego tu mismo. FULL indica si deseas mostrarlo en pantalla completa. DELAY es el retardo en segundos antes de volver al juego.

show_video(fname,full,loop)

Muestra una ventana de video. FNAME es el nombre del archivo de video (.avi,.mpg), pero debes poner este archivo en el directorio del juego tu mismo. FULL indica si deseas mostrarlo en pantalla completa. DELAY es el retardo en segundos antes de volver al juego.

show_info()

Muestra la información del juego.

load_info(fname)

Carga la información del juego con el nombre de archive FNAME, el cual debería ser un archivo RTF. Esto hace posible mostrar diferentes archivos de ayuda, en diferentes momentos.

Preguntas y mensajes pop-up

Existen otras funciones para mostrar mensajes, preguntas, un menú con opciones, o un cuadro de diálogo en el cual el jugador puede insertar un número, un string, indicar un color o un nombre de archivo:

show_message(str)

Muestra un cuadro de dialogo con un string STR como mensaje.

show_message_ext(str,but1,but2,but3)

Muestra un cuadro de diálogo con el string STR como mensaje, más un máximo de 3 botones. But1,but2 y but3 contienen el texto de cada botón. Un string vacío significa

que el botón no se mostrará. En los textos puedes usar el símbolo “&” para indicar que el siguiente carácter debe ser usado como acceso directo a ese botón (p.e. “&Acepto”, si se presiona “A” se simula la presión del botón). Esta función devuelve el número del botón presionado (0 si el usuario presiona la tecla ESC).

show_question(str)

Muestra una pregunta; devuelve true cuando el usuario elige “yes” y de otra manera, false.

get_integer(str,def)

Pregunta un número al jugador por medio de un cuadro de diálogo. STR es el mensaje, DEF es el número predeterminado que se mostrará.

get_string(str,def)

Pregunta un string al jugador en un cuadro de diálogo. STR es el mensaje, DEF es el valor predeterminado.

message_background(back)

Establece la imagen de fondo par a los cuadros de diálogo para cualquiera de las funciones arriba. BACK debe ser uno de los archivos definidos en el juego. Si BACK es parcialmente transparente, también lo será el cuadro de diálogo (solo para Windows 2000 o superior).

message_alpha(alpha)

Establece la traslucidez de los cuadros de diálogo para cualquiera de las funciones anteriores. ALPHA debe oscilar entre 0 (completamente traslúcido) y 1 (completamente opaco) (solo para WIN2000 o superior).

message_button(spr)

Establece el sprite usado para los botones en los cuadros de diálogo. SPR debe ser un sprite consistiendo de 3 imágenes, la primera indica el botón cuando no esta presionado y el mouse está alejado, el Segundo indica el botón cuando el mouse está sobre el pero no presionado, y el tercero cuando del botón es presionado.

message_text_font(name,size,color,style)

Establece la fuente para el texto de los cuadros de diálogo (esta debe ser una fuente normal de Windows, no una de las fuentes de recurso que usas en tu juego!) STYLE indica el estilo de la fuente (0=normal, 1=negrita, 2=cursiva, 3=negrita y cursiva).

message_button_font(name,size,color,style)

Establece la fuente para los botones en los cuadros de diálogo. STYLE indica el estilo de fuente. (0=normal, 1=negrita, 2=cursiva, 3=negrita y cursiva).

message_input_font(name,size,color,style)

Establece la fuente para el campo de entrada en los cuadros de diálogo. STYLE indica el estilo de fuente. (0=normal, 1=negrita, 2=cursiva, 3=negrita y cursiva).

message_mouse_color(col)

Establece el color de la fuente para los botones en los cuadros de diálogo cuando el mouse está sobre ellos.

message_input_color(col)

Establece el color para el fondo del campo de entrada en los cuadros de diálogo.

message_caption(show,str)

Establece el título del cuadro de diálogo. SHOW indica si se debería mostrar el borde (1) o no (0) y STR indica el título cuando el borde si es mostrado.

message_position(x,y)

Establece la posición para los cuadros de diálogo en la pantalla.

message_size(w,h)

Arregla el tamaño de los cuadros de diálogo en la pantalla. Si eliges 0 para el ancho(w), el ancho de la imagen es usado. Si eliges 0 para el alto (h), el alto se calcula basándose en el número de líneas del mensaje.

show_menu(str,def)

Muestra un menú pop-up. STR indica el texto del menú. Este consiste en diferentes opciones del menú con una barra vertical entre ellas. Por ejemplo, str = ‘menu0|menu1|menu2’. Cuando la primera

opción es seleccionada, se devuelve un 0, para la segunda un 1, etc. Cuando ninguna opción es seleccionada, el valor predeterminado def es devuelto.

show_menu_pos(x,y,str,def)

Muestra un menú popup, como en la función anterior, pero en la posición x, y en la pantalla.

get_color(defcol)

Le pide al jugador un color. DEFCOL es el color predeterminado. Si el jugador presiona CANCEL el valor -1 es devuelto.

get_open_filename(filter,fname)

Le pide al jugador un archive para abrir, con el filtro (FILTER) dado. El filtro tiene la forma ‘nombre1|máscara1|nombre2|máscara2’ . Una máscara contiene diferentes opciones con un ';'(punto y coma) entre ellas. '*' (asterisco) significa cualquier string. Por ejemplo: ‘Mapa de

bits|*bmp;*.wmf’.Si el jugador presiona Cancel, un string vacío es devuelto.

get_save_filename(filter,fname)

Pide un archivo para guardarlo, con el filtro dado. Si el jugador presiona Cancel, un string vacío es devuelto.

get_directory(dname)

Pide un directorio. DNAME es el nombre predeterminado. Si el usuario presiona Cancel, un string vacío es devuelto.

get_directory_alt(capt,root)

Una forma alternativa de preguntar por un directorio. CAPT es el titulo a mostrar. ROOT es la raíz del diagrama del directorio a mostrar. Usa un string vacío para mostrar el diagrama completo. Si el usuario presiona Cancel, un string vacío es devuelto.

show_error(str,abort)

Muestra un mensaje de error estándar (y/o escribe el error al archivo de registros). ABORT indica si el juego debería cerrarse (true-abortar, false-ignorar).

Tablas de récords

Una ventana “pop-up” especial es la lista de MEJORES PUNTAJES que se mantiene para cada juego. Las siguientes funciones existen para esto:

highscore_show(numb)

Muestra la tabla de highscores. NUMB es un nuevo puntaje. Si el puntaje es suficientemente bueno para ser agregado a la lista, el jugador puede introducir un nombre. Usa -1 para únicamente mostrar la lista actual.

highscore_set_background(back)

Establece la imagen de fondo. BACK debe ser el índice de uno de los recursos de fondo.

highscore_set_border(show)

Establece si la forma de highscore debe mostrar un borde o no.

highscore_set_font(name,size,style)

Establece la fuente usada para el texto en la tabla. (Esta es una fuente normal de Windows, no una de los recursos de fuente). Debes especificar un nombre y un estilo (0=normal, 1=negrita, 2=cursiva, 3=negrita y cursiva).

highscore_set_colors(back,new,other)

Establece los colores usados para el fondo, el de una nueva entrada en la tabla, y el de las demás entradas. entradas.

In document Lenguaje GML (página 69-71)