-

TUTORIAL 5,juego tipo mirilla 1

Tutorial juego tipo mirilla con el "mouse" vol.1


Tutoriales gamemaker

Juego shooter con lo màs bàsico para jugar con el "mouse".
Creamos 11 sprites y les damos los nombramos:

sprite_enemy1
sprite_enemy1_run
sprite_enemy1_die
sprite_enemy1_shoot
sprite_copter_fly
sprite_copter_shoot
sprite_copter_die
sprite_huella
sprite_ammo
sprite_mirilla
sprite_shoot


Tutoriales gamemaker

Creamos unicamente 6 objetos que seràn los siguientes:

object_mirilla
object_control
object_shoot
object_enemy1
object_copter
object_ammo



El object_mirilla serà con el que interactuaremos en el juego y le añadimos este còdigo en el evento "step":

x=mouse_x;y=mouse_y;
depth=-2000;

y en el evento "global left button"este otro:

if global.ammo<1 then exit;
if instance_exists(object_shoot) then exit;
instance_create(x,y,object_shoot);global.ammo+=-1;




El object_control serà el que determina el desarrollo del juego, 
Tutoriales gamemaker

le añadimos este còdigo en el evento "create":

health=100;
score=0;
global.ammo=100;
global.nivel=1;
global.pasar=500;
global.dif=60;
alarm[0]=100+random(global.dif);
alarm[1]=100+random(global.dif);
alarm[11]=200;

en los eventos de alrma añadiremos los siguientes còdigos correpondientes a cada una de ellas:
"alarm 0":
alarm[0]=100+random(global.dif);
instance_create(random(view_xview+640),350+random(50),object_enemy1);
"alarm 1":
alarm[1]=100+random(global.dif);
instance_create(random(view_xview+640),350+random(50),object_enemy1);
"alarm 2":
alarm[2]=150+random(global.dif);
instance_create(random(view_xview+640),random(200)+50,object_copter);
"alarm 3":
alarm[3]=50+random(global.dif);
instance_create(random(view_xview+640),350+random(50),object_enemy1);
y este otro en "alarm 11":
alarm[11]=200;
instance_create(random(view_xview+640),(view_yview+300)+40,object_ammo);

ahora insertamos este en el evento"step":

if score>global.pasar then {
health+=+25;
if health>100 then health=100;
global.pasar*=2;global.nivel+=+1;
if global.nivel=2 then alarm[2]=200;
if global.nivel>2 then alarm[3]=200;}

y este en el evento"draw":

draw_set_colour(c_green);
draw_set_font(font0);
draw_text(80,10,global.ammo);
draw_sprite(sprite_ammo,0,40,30);
draw_healthbar(220,20,500,40,health,c_black,c_red,c_lime,1,1,1);
draw_text(510,10,'HEALTH');
draw_text(140,440,score);draw_text(20,440,'score');
draw_text(600,440,global.nivel);draw_text(500,440,'stage');




El object_shoot tendrà un depth igual al object_mirilla o algo superior y unicamente tendrà este còdigo en el evento 
"animation end":  

instance_destroy();




En el object_enemy1 insertamos lo siguiente en el evento "create"

alarm[0]=12;
sprite_index=sprite_enemy1;
amplia=0.5;
energia=10;

y destruiremos el object_shoot en el evento de "colisiòn" con èste como podemos ver en la imagen:


Tutoriales gamemaker

e insertaremos este còdigo despuès en el mismo evento:

energia+=-1;
if energia<1 then 
{sprite_index=sprite_enemy1_die;image_speed=0.5;score+=+10;}

en los eventos de alrma añadimos siguientes còdigos:
"alarm 0":
sprite_index=sprite_enemy1_run;
alarm[1]=5;
"alarm 1":
if sprite_index=sprite_enemy1_die then exit;
if sprite_index=sprite_enemy1_run then {amplia+=0.1;depth+=-0.1;alarm[1]=5;}
if amplia>2 then {sprite_index=sprite_enemy1_shoot;alarm[2]=5;}
"alarm 2":
if sprite_index=sprite_enemy1_die then exit;
alarm[2]=5;health+=-1
"alarm 3":
instance_destroy();

en el evento "animation end" este còdigo:


if  sprite_index=sprite_enemy1_die then {image_speed=0;image_index=3;alarm[3]=10;}

y en el evento "draw" este otro:

draw_sprite_ext(sprite_index,-1,x,y,amplia,amplia,0,c_white,1);



En el object_copter insertamos lo siguiente en el evento "create":

alarm[0]=12;
sprite_index=sprite_copter_fly;
amplia=0.1;
energia=20;

el evento de "colisiòn" con object_shoot serà igual que en el object_enemy1 salvo que el còdigo añadido sera asì:

energia+=-1;
if energia<1 ten
{sprite_index=sprite_copter_die;image_speed=0.5;score+=+10;}

los eventos de alrma tambièn seràn parecidos:
"alarm 0":
if sprite_index=sprite_copter_fly then {amplia+=0.1;alarm[0]=5;}
if amplia>2 then {sprite_index=sprite_copter_shoot;alarm[1]=5;}
"alarm 1":
if sprite_index=sprite_copter_die then exit;
alarm[1]=5;health+=-1;

en el evento "animation end" este:

if  sprite_index=sprite_copter_die then {instance_destroy()}

y en el evento "draw" este:

draw_sprite_ext(sprite_index,-1,x,y,amplia,amplia,0,c_white,1);




el ùltimo objeto de este tutorial es el object_ammo al que añadiremos este còdigo en el evento "create"

dir=irandom(2);speed=8;
if dir=0 then direction=0;
if dir=1 then direction=180;
visible=false;
alarm[0]=10;

en el evento "alarm 0" unicamente:

visible=true;

en el evento "colision" con object_mirilla este:


if dir=3 or visible=false then exit;
global.ammo+=+100;dir=3;move_towards_point(40,30,16);

y el evento "outside room" lo hacemos como podemos ver en la imajen:


Tutoriales gamemaker


Por ùltimo muestro las propiedades de la "room" usada 640x480 y un grid de 8x8.


Tutoriales gamemaker



No hay comentarios:

Publicar un comentario