[Tutorial] Jogo de labirinto 3D em 15 passos sem script

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Jogo de labirinto 3D em 15 passos sem script

Mensagem por ViniciusAssis em Qui 14 Abr 2011, 16:46

Quem nunca jogou eu jogo de fps(Tiro em primeira pessoa)?
Nesse tuto, eu vou ensinar a fazer um jogo de fps 3D no game maker.

OBS: e necessário Game maker pro.

1) Baixa uma extensão chamada simplesmente de 3D {Link abaixo}:
http://www.yoyogames.com/resources/181/download

2) Estale está extenção no seu game maker {Se não souber como é só procurar em um topico aqui no GameMakerBrasil.}

3)Crie uma sprite simples {Uma bolinha por exemplo}. Crie uma sprite de um retangulo na vertical e horizontal, do mesmo tamanho.

4)Crie um objeto com o nome {player} e coloque a sprite da bolinha, depois Crie um objeto com o nome wall_vertical e outra com o nome wall_horisontal.

5) no create do player coloque a ação 3D start e set friction {se encontra no move} e coloque 0.2 (se quiser colocar a opção "use light" ou "Frog" é só colocar no create para adicionar um efeito melhor no seu jogo)

6) No steep do player coloque o codigo

Código:
direction -= (display_mouse_get_x() -display_get_width()/2)/10;
pitch += (display_mouse_get_y() -display_get_height()/2)/10;
pitch = max(min(pitch,100),-100);
display_mouse_set(display_get_width()/2,display_get_height()/2);

7) Adicione um evento "End Steep" e coloque o codigo:

Código:
{
  global.camsin = sin(direction*pi/180);
  global.camcos = cos(direction*pi/180);
}

Cool Adiciona comandos de movimento {Para frente Para tras} é só colocar no evento "up" e "down" o comando que veio na extenção.

9) Marca os objetos wall_horisontal e vertical como solidos.

10) Crie um objeto chamado obj_wall_basic (importante).

11) no objeto player coloque colisao com o objeto obj_wall_basic e coloque o codigo

Código:
{
  x = xprevious;
  y = yprevious;
  if (abs(hspeed) >= abs(vspeed) && 
      not place_meeting(x+hspeed,y,obj_wall_basic))
    { x += hspeed; exit;}
  if (abs(vspeed) >= abs(hspeed) && 
      not place_meeting(x,y+vspeed,obj_wall_basic))
    { y += vspeed; exit;}
  speed = 0;
}

12) crie 4 background com o tamanho 128x128 com o nome para ser as testuras do seu jogo

13 no draw dos objetos {menos o obj_wall_simple} coloque um comando com o nome: give 32x8 para a parede horizontal e 8x32 para a vertical e coloque as testuras que serao as paredes

14) no player coloque no evento draw, o comando give thigs better look 128x128 com as texturas que serao o piso e o teto

15) coloque os objetos wall como parente do objeto obj_wall_simple

Agore é só criar uma room com os objetos de acordo com a sua fase, e apreciar o seu jogo.
cheers

ViniciusAssis

Número de Mensagens : 103
Idade : 19
Data de inscrição : 13/04/2011
Reputação : -3
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum