Anuncios

Bienvenidos sean a este post, en este post creamos a la base de los enemigos pero hoy nos centraremos en crear al Boss, Vic Bos, el Jefe o como quieran llamarlo pero sera el enemigo mas grande del juego.

Anuncios

Para esta ocasion vamos a crear un nuevo objeto que llamaremos obj_Jefe, le asignaremos el sprite que generamos para este, esto lo haremos como habitualmente lo vinimos haciendo hasta ahora con la excepcion de que no lo estableceremos como solido y tambien lo haremos hijo del objeto clase_enemigo, tal como vimos en este post, una vez completado nuestro nuevo objeto le agregaremos un evento de tipo Create, al cual le agregaremos las siguientes lineas:

randomize();
ps = 200;
alarma_num = 120;
event_perform(ev_alarm, 0);
Anuncios

La primer linea sera para iniciar a nuestro “randomizador” pero esto lo veremos mas adelante, la segunda linea sera la salud de nuestro jefe, la tercera es un valor que usaremos para una alarma que agregaremos en un momento y la ultima sera para ejecutar el evento de alarma pero antes de comenzar a hablar sobre este vamos a crear un nuevo objeto para el misil de nuestro jefe, para ello primero crearemos un nuevo sprite que usaremos para representarlo, lo llamaremos spr_misil, lo crearemos de un tamaño de 16 x 32, para hacerlo usaremos nuevamente el editor interno, les dejo un ejemplo

Anuncios
Anuncios

Este es solo un ejemplo pero pueden usarlo como patron, lo siguiente son los mismos que venimos haciendo hasta ahora, pasar la mascara de colision de automatico a manual, redefinirla en caso de ser necesario, y por ultimo centrar el origen con Middle Centre, con todo esto realizado pasemos a crear el objeto que llamaremos obj_Misil, le asignamos el sprite que creamos anteriormente, lo hacemos hijo de clase_enemigo como los anteriores y finalmente agregamos un evento Create para introducirle el siguiente codgo:

ps = 5;
dir = 270;
Anuncios

El primero sera la salud de nuestro objeto, el siguiente sera para la direccion que tendra nuestro objeto, es decir que esta sera su direccion predeterminada, para el siguiente paso debemos modificar el evento Step heredado haciendo click con el boton derecho y seleccionando Inherit Event, una vez realizado agregaremos el sigueinte codigo:

event_inherited();

if (place_meeting(x, y - 16, obj_Jefe))
{
	y += 5;
}
else
{
	if (instance_exists(obj_Nave))
	{
		dir = point_direction(x, y,
			obj_Nave.x, obj_Nave.y);
	}
	image_angle = dir + 90;
	motion_set(dir, 5);
}
Anuncios
Anuncios

La primera linea es la agregada por la accion anterior, luego tenemos un condicional donde verifica si nuestro misil esta tocando al objeto del jefe, en caso de ser verdadero incrementa en 5 el valor del eje Y para desplazarnos, en caso contrario chequeamos si el objeto de la nave del jugador existe, en caso de ser verdadero utiliza el point_direction en cual direccion esta nuestro objeto y lo almacena en dir, despues usamos a image_angle para pasarle el valor de dir y lo incrementamos en 90 para que el sprite se muestre como es su manera predeterminada, es decir hacia abajo, por ultimo tomamos el valor de dir y lo desplazamos con esa direccion y con una velocidad de 5, con esto concluimos con el objeto del misil volvamos al jefe.

Anuncios

En el objeto del jefe que generamos al principio vamos a agregar un evento Alarm que sera un Alarm 0, en este evento agregaremos el siguiente codigo:

if (instance_exists(obj_Nave))
{
	switch(irandom(1))
	{
		case 0:
			instance_create_depth( x - 44,
				y + 16, 0, obj_Misil);
			instance_create_depth( x + 44,
				y + 16, 0, obj_Misil);
			break;
		case 1:
			instance_create_depth( x - 88,
				y + 16, 0, obj_Enemigo);
			instance_create_depth( x + 88,
				y + 16, 0, obj_Enemigo);
			break;
	}
	
	alarm[0] = alarma_num;
}
Anuncios
Anuncios

Este condicional verifica si existe una instancia del obj_Nave, en caso de ser verdadero vamos a generar un numero al azar entre 0 y 1 por medio de irandom y este valor lo analizaremos por medio de un switch, en este caso tenemos solo dos case que seran muy similares pero los utilizaremos para crear dos instancias de los misiles que desarrollamos anteriormente para el case 0, si utilizaron la imagen de jefe que cree para este ejercicio con esos valores deberan ajustarse perfectos a los cañones sino de lo contrario cambien el valor para incrementar y decrementar el eje X hasta que se ajuste a la imagen, en el otro case hacemos lo mismo pero para generar instancias de los enemigos, por ultimo usaremos el valor de alarma_num para nuestra alarma y que vuelva a repetir el proceso, con esto podemos agregar nuestro objeto en el Room y ver como funciona pero estamos lejos de terminarlo.

Anuncios

Para nuestra siguiente modificacion vamos a trabajar para generar el movimiento de nuestro jefe y para ello usaremos a los Paths, estos tambien son recursos como los sprites o los objetos y como su nombre lo indica nos permitira generar de una forma muy facil y sencilla un camino para un objeto sin necesidad de tener que trabajar con arrays u otros metodos extraños, al igual que todos los recursos debemos ir al Asset Browser, a la carpeta Paths, hacemos click con el boton derecho y seleccionamos Create -> Path, lo llamaremos path_jefe, y nos aparecera el siguiente cuadro

Anuncios
Anuncios

En este cuadro definiremos cual va a ser el path o camino que usaremos para nuestro jefe pero antes veamos algunos detalles, a la izquierda tienen el nombre del recurso que pueden modificar tambien, luego tienen la forma en que se desplazara la seleccionada de manera predeterminada es en linea recta (straight lines) y la otra sera para hacer en forma de curvas, seleccionen la mas conveniente a su proyecto, despues usaremos el valor de precision para que se ajuste el objeto al path, la opcion de Closed es para cerrar el path donde el ultimo tramo se unira con el comienzo, las cuatro flechas son para desplazar el path que generamos en otra ubicacion, en la tabla inferior se almacenaran los puntos que agreguemos, veamos un ejemplo realizado

Anuncios

Observen como genere uno, a medida que clickeen en pantalla se ira uniendo el punto anterior con el nuevo mediante la linea, a la izquierda veran como se agregan los valores de la ubicacion de cada punto, no tiene que ser exactamente igual pero es para dar una referencia, de manera predeterminada tendra un valor de 100 pero para nuestro juego vamos a variarlo a 75, podemos optar de dejarlo de esta manera o tildar la opcion Closed para que suceda esto

Anuncios

Podemos ver como se nos agrego la ultima linea para completar el camino pero de esto tambien hablaremos luego cuando veamos el codigo, con esto tenemos el path definido, traten en lo posible de utilizar unas coordenadas que coincidan con el room, con esto finalizamos por el momento con el objeto que sera nuestro jefe, en el proximo post lo finalizaremos.

Anuncios

En resumen, hoy hemos creado el objeto que sera el pinaculo de nuestro juego, sera el verdadero encargado de hacer nuestro juego mas dificil, hemos generado sus parametros basicos, su misil para atacarnos, la posibilidad de enviarnos enemigos y misiles para atacarnos, los misiles tambien poseen la capacidad de perseguirnos y por ultimo hemos creado un camino para que se desplace por el room, hemos visto como es crear un path y cuales son los parametros que disponemos para poder trabajar con ellos, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.00