min(val1,val2,val3,…) Regresa el mínimo de los valores (16 valores como máximo). Deben de ser todos números reales.
max(val1,val2,val3,…) Regresa el máximo de los valores (16 valores como máximo). Deben de ser todos números reales.
mean(val1,val2,val3,…) Regresa el promedio (media aritmética) de los valores. Deben de ser todos valores reales.Práctica 9): a) Con pieza de código, crea un programa que nos calcule el cubo de 7 y nos lo muestre en la pantalla. b) Crea un programa para calcular la media aritmética de 3 números mediante la fórmula y mediante la función. Comprueba que los resultados son los mismos.
Variables definidas por el programa
Hay muchas variables que ya están definidas en GM, estas son algunas:
x es la coordenada x del objeto
y es la coordenada y del objeto
hspeed es la velocidad horizontal (en píxeles por step)
vspeed es la velocidad vertical (en píxeles por step)
direction seria la dirección actual de movimiento en grados (0-360)
speed la velocidad en esa dirección
image_speed esta variable indica la velocidad con la cual se muestran los fotogramas del sprite. El valor prefijado es 1. Si pones ese valor más grande de 1 algunos fotogramas se saltan para hacer la animación más rápida. Si usted lo hace más pequeño que 1 la animación se hace más lenta porque repite fotogramas.
mouse_x la posición de x del mouse.
mouse_y la posición de y del Mouse
motion_set(dir,speed) Fija el movimiento con la velocidad y dirección indicada.
Escribiendo la variable con este formato: objeto.variable estamos indicando el valor de esa variable, en ese objeto. Por ejemplo, si ponemos: objeto1.hspeed=5 estaríamos cambiando la velocidad horizontal actual de "objeto1" a 5.Si ponemos Objeto1.direction=random(380) estaríamos cambiando la dirección del objeto ( 0 dirección horizontal, 270 hacia abajo).
Práctica 10: Mueve una instancia de un objeto con una velocidad y en una dirección determinada.
Práctica 11: Haz un programa para que salga el número de la posición horizontal del ratón en todo momento (al mover el ratón cambiará el valor). Mejóralo añadiendo la posición vertical.
Práctica 12: Crea un programa en el que un objeto siga el movimiento del puntero del ratón
Recordar que las variables pueden ser globales, que afectan a todos los objetos y rooms, o locales, que solo afectan a un objeto (incluso solo a una instancia del objeto). Para que una variable sea global tendrás que poner esto global.a = 0 que no es igual que la variable local a=0
Interacción con el usuario del programa
Podemos hacer que salga una ventana en la que aparezca una pregunta o un texto y que tengamos que responder escribiendo un texto o un número (por ejemplo para que el usuario asigne el valor inicial de una variable). Para eso tenemos las siguientes funciones:
Get_string(frase,def) //aparece una ventana para introducir una frase. El valor def es la frase que se mostrará por defecto en la ventana.
Get_integer(frase,def) //igual que la anterior pero para introducir números.
Si queremos que lo que escriba el usuario en la ventana y lo recoja el programa para usarlo posteriormente, tenemos que hacer que lo que escriba el usuario se recoja como el valor de una variable:
NombreVariableNumérica = get_integer(str,def) //OJO el texto de str, entre comillasNombredeVariabledeTexto = get_string(str,def) //OJO el textote str, entre comillas
Recordar que para crear frases con texto y variables >>> draw_text(10,20,"texto"+string(variable))
get_color(def) Sale la tabla de colores para seleccionar uno. def es el color que queremos que aparezca marcado en la tabla por defecto. Si hacemos n=get_color(c_green) y luego draw_set_color(n), el texto (o el dibujo) que se escriba a continuación, será del color elegido de la caja de colores que aparecerá.
Práctica 13: Crea un programa que salga una ventana te pregunte la edad que tienes, luego otra que te pregunte tu nombre y al final en la room que salga la frase nombre+tiene+edad+años. Las negritas son las variables. Utiliza colores diferentes (o que el usuario pueda elegirlos).
Mas acciones para interactuar con el usuario
show_message(str) muestra un cuadro de diálogo como un mensaje (mensaje al pulsar una tecla por ejem.)
show_message_ext(str,but1,but2,but3) muestra un cuadro de diálogo con el valor "str" como un mensaje, además de 3 botones. But 1, but 2 y but 3 contienen el texto de cada botón.
Si solo quieres dos botones pon 0 en el que anulas. Si pinchas but1 la salida es un valor 1, si pinchas en el but2 es 2 y en el but3 3. Si pinhas escape el valor es 0. ejemplo de uso:
show_question(str) muestra un pregunta; devuelve "true" cuando el usuario presiona yes o falso si no.
message_background(back) establece una imagen de fondo para el cuadro de diálogo para las funciones anteriores. Back debe ser uno de los bakcgrounds definidos en el juego.
message_text_font(name,size,color,style) establece la fuente usada en los botones del cuadro de diálogo (0=normal, 1=bold, 2=italic, and 3=bold-italic).
message_position(x,y) establece la posición del cuadro de diálogo.
message_size(w,h) fija el tamaño del cuadro de diálogo. Si indicas 0 para el width el ancho de la imagen es utilizado. Si escoges 0 para el height el alto es calculado en base al número de líneas del mensaje.
show_menu(str,def) muestra un menú emergente. Str indica el texto del menú esto consiste de los diferentes elementos del menú con una barra vertical entre ellos. el valor por defecto def es regresado.
show_menu_pos(x,y,str,def) muestra un menú desplegable como en la función anterior pero en la posición x, y de la pantalla.
Cambiar un sprite de un objeto por otro diferente
Esto se usaría por ejemplo para que un objeto por ejemplo objetocasa que tiene un sprite al principio, si explota, por ejemplo el sprite del objetocasa cambie a otro diferente (una casa en ruinas). Se haría:
sprite_index=NombreDelSprite
Práctica 14: crea un objeto con un sprite, y haz que al picar con el boton izquierdo del ratón sobre el objeto cambie de sprite (utiliza el evento ratón).
PRÁCTICA FINAL 15: Crea un programa para el cálculo de circuitos eléctricos en serie o en paralelo. Los valores de
La Vtotal de la pila y de las resistencias pueden cambiarse, en cualquier momento a los valores que el usuario quiera, calculando automáticamente los nuevos valores del resto de magnitudes. Debe aparecer el esquema del circuito (o el real) apagado y que al apretar un botón se vea el circuito encendido. Añade complementos que creas que mejoraría el programa (voltímetros,
amperímetros, polímetro, botones, poder añadir más lámparas etc).
CONTROL DE TEORIA DE PROGRAMACIÓN HASTA AQUÍ
PROGRAMACIÓN CON LA TÉCNICA D&D
1º) VER VIDEOTUTORIAL CONCEPTOS BÁSICOS SOBRE GAME MAKER (leer unos 5 minutos)
2º VER VIDEOTUTORIAL SOBRE CREACIÓN DE ALARMAS (7 minutos)
3º) VER VIDEO CREACIÓN DE MARCADORES PARA PUNTUACIÓN (13 minutos)
EVENTOS
ACCIONES DENTRO DE LOS EVENTOS
Práctica 16: Crea los programas de los videotutoriales de la web www.areatecnologia.com dos, cuatro, cinco y siete.
Cosas Importante:
Relativo: cada vez que se ejecuta la acción, la velocidad, la puntuación o a lo que se halla puesto relative se suma a la que tenía anteriormente.
Sonidos: .wav,.midi y mp3. Los más adecuados son los wav, ya que ocupan poco espacio. Loop: Si se selecciona false el sonido se reproduce una sola vez, si se pone trae se repite sin parar.
Objetos: Los objetos creados con Saint guardarlos como .GIF, si no luego al editarlos no se les puede quitar el fondo blanco. Visibles o que no se vean. Sólidos para que puedan colisionar con otros. Persistentes significa que si salimos de la room y volvemos a entrar en la misma room el objeto aparecerá en el mismo sitio que estaba cuando salimos de la room.
Cosas interesantes:
– Contador de tiempo transcurrido en segundos >>> en el evento draw: draw_text(20,50,current_second);
– Escribir directamente desde el teclado: En el evento draw poner:
draw_text_ext (20,20,keyboard_string,-1,300)///OJO CAMBIA DE LINEA AL ENCONTRAR UN ESPACIO EN BLANCO
– Que al picar en un sitio te lleve a una web: en el objeto se pone dentro del evento botón ratón izquierdo:
web=get_string("Escribe la web que deseas abrir","http://www.areatecnologia.com");
execute_shell(web,"");
Práctica 17: Crea un programa en el que mezcles GML con la técnica D&D. Ejemplos: juego de preguntas, personalidad, calculo de circuitos eléctricos, calculo de mecanismos, juego de aprendizaje de algún tema, etc. software para detectar enfermedades de animales o personas (síntomas—>enfermedad (autoampliable)), creador base datos, etc
Enviado por:
Pablo Turmero
Página anterior | Volver al principio del trabajo | Página siguiente |