Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

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

Qualidade Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

Mensagem por gerudoking em Qua 13 Out 2010, 20:33

Tutorial completo do Gerudo: Plataforma,tiro,inimigos e muito mais
Olá galera!Aqui é o gerudoking, com seu primeiro tutorial! A minha abilidade em gml não é tão boa,então não espere algo SUUUUPER,mas no mínimo,SUPER ;D
Primeira parte:


Movimentação por plataforma!
Bom dia,usuários. Preparen-se para aprender a programar um movimento plataforma! Existem dois jeitos de programar um movimento plataforma(aliás,a maioria das coisas podem ser programadas desses dois jeitos no GM):

Drag & Drop
GML

Bem,eu ensinarei pelos dois.Primeiramente,pegue esses sprites(são só exemplos,podem usar o sprite que você quiser!) :

Personagem direita

Personagem Esquerda

Chão

Agora,vamos começar!

Drag & Drop:

Bem,primeiramente,crie um projeto novo,e coloque as três sprites(personagem esquerda,direita e chão)
Provavelmente,ficará assim:


(OBS:Caso você seja MUUUUITO novato,pode achar que o nome das sprites faz diferença. Bem,neste caso,tudo que se deve fazer é mudar o nome da sprite no código caso você esteja usando um diferente)

Depois,crie um objeto obj_personagem(o nome também não faz diferença aqui,se quiser mudar,é só colocar outro nome nos códigos correspondetes),vá no evento keyboard < left > e vá na aba "control" e coloque "check empty",e sete os valore para isso:



Muito bem, o que nós fizemos aqui?

Resumindo:

Como o evento é keyboard < left >,isso acontece quando a seta da esquerda é selecionada,criando o ato de ele checar se há algo sólido a posição -5 na horizontal(5 pra esquerda),sem esquecer de que é -5 relativo,ou seja,não é o -5 da room,e sim o -5 saindo do 0 do objeto.Entendeu?

(Claro que entendeu. Até um novato em ser novato no gm entende,nem sei o porque dessa explicação...)

Mas se for testar,o personagem ainda não se move,pois ele está apenas checando se há espaço pra se mover.Ele ainda não se move.Para isso,ainda no evento keyboard < left >,selecione a aba "move",e escolha "jump to position",e coloque no x o valor de -5,o y dexa do jeito que tá lá(no valor de 0),e coloca como relativo.

Oque nos fízemos aqui?

Agora,sempre que o player apertar a seta esquerda,vai acontecer tudo que tá lá em cima,e também ele vai andar para o local que foi checado como não sólido.

Duplique o evento keyboard < left > para keyboard < right >, e deixe tudo igual nas acções só troque TODOS os -5 por 5.
Agora crie um objeto obj_chao com o sprite lá de cima e o coloque como sólido.

Pronto!Agora,vc aprendeu a fazer um personagem andar por drag & drop!Maaaas...ainda falta aprender a fazer por gml,não?

GML:

Muito bem,APAGUE tudo que fizemos antes,ou crie outro projeto,para fazermos em gml ;D
Vá no evento step do personagem e coloque esse código.Ele está explicado:

Código:
if keyboard_check(vk_left)//Se a tecla da seta esquerda for pressionada:
{
 x -=5//o personagem andará numa posição relativa a -5
}

if keyboard_check(vk_right)//Se a tecla da seta direita for pressionada:
{
 x +=5//o personagem andará numa posição relativa a 5
}

Bem,o personagem anda do mesmo jeito,não?Pois ainda falta ele trocar a sprite(coisa que não expliquei em drag & drop)e ele parar quando chocar em algo.Para a colisão,crie um obj_chao com o sprite que está no inicio do tutorial,da mesma maneira que no drag & drop(marque como sólido).Mas se testarem,o personagem ainda passa pelos blocos. Oque fazer? nervoso

Simples!!!

Vamos colocar um código na colisão do obj_personagem com o obj_chao.Mais precisamente,esse aqui:

Código:
move_contact_solid(direction,12);//caso aconteça uma colisão:
vspeed=0;//Velocidade vertical se torna zero

assim,pode testar!O cara não vai mais passar pelos blocos,parando neles!Também será bem útil na hora de porgramar gravidade e pulo!Por falar nisso,vamos os programar agora?

Pulo e gravidade:

Primeiro,a gravidade(para os novatos,gravidade é o que vai fazer o player cair surpreso HOOOOOO).Use este código:

Código:
if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, o que quer dizer, não tem chão.
{gravity=0.45;}//Gravidade se torna 0.45
else//se não
{
 gravity = 0//Gravidade se torna zero,impossibilitando bugs "escrotos"
}

Agora,seo sujeito quiser se suicidar e pular de um prédio cair de uma plataforma,agora ele consegue!
Mas o que é um jogo de plataforma sem pulos?
Siga este código,e verá que é algo bem simples:

Código:
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1)) //Checa se a seta de cima foi precionada,ele vai checar se NÃO HÁ um pixel livre abaixo.CASO NÃO HAJA:
{
vspeed=-10; //A velocidade vertical se torna 10 para cima(-10)
}

if (vspeed>24) //Caso a velocidade esteja maior que 24,o cara vai parar e começar a cair,para evitar bugs mais "escrotos" ainda
vspeed=15; //Caso o que eu disse acima aconteça,a velocidade vertical será 15(positivo,ou seja para baixo)

Agora,o personagem ainda não troca de sprites.Como fazer isso?

Troca de Sprites:

Vamos fazer uma alteração no código de movimentação do personagem:

Código:
if keyboard_check(vk_left)//Se a tecla da seta esquerda for pressionada:
{
 x -=5//o personagem andará numa posição relativa a -5
 sprite_index = spr_personagem_esquerda //o sprite vai ser trocado pelo dito aqui
}

if keyboard_check(vk_right)//Se a tecla da seta direita for pressionada:
{
 x +=5//o personagem andará numa posição relativa a 5
 sprite_index = spr_personagem_direita //o sprite vai ser trocado pelo dito aqui
}

Caso não tenha reparado a diferença,repare nessas linhas:

if keyboard_check(vk_left)//Se a tecla da seta esquerda for pressionada:
{
x -=5//o personagem andará numa posição relativa a -5
sprite_index = spr_personagem_esquerda //o sprite vai ser trocado pelo dito aqui
}

if keyboard_check(vk_right)//Se a tecla da seta direita for pressionada:
{
x +=5//o personagem andará numa posição relativa a 5
sprite_index = spr_personagem_direita //o sprite vai ser trocado pelo dito aqui
}

Bem,aqui termino o tutorial,espero que tenha aprendido.

Parte 2:Tiro e inimigos!

gerudoking

Número de Mensagens : 467
Idade : 19
Data de inscrição : 07/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

Mensagem por Convidad em Qua 13 Out 2010, 20:51

boa tuto vai ajudar bastante quem quer fasser jogos deste tipo

Convidad
Convidado


Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

Mensagem por Super Games em Qua 13 Out 2010, 21:43

Muito bom o tutorial, bem explicado, ficaram otimas as imagens, um tutorial que ajudarra muita gente novato do GameMaker, continue assim pois seu tuorial é nota 10.


Até!

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

Mensagem por gerudoking em Qui 14 Out 2010, 13:33

Valeu ae gente!O tutorial 2 tá quase pronto.Talvez ainda hoje coloque ele aqui ;D

gerudoking

Número de Mensagens : 467
Idade : 19
Data de inscrição : 07/07/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

Mensagem por Fenixs em Qui 14 Out 2010, 14:15

otimo tutorial, e eu estou esperando a parte 2!!eu achei muitas explikações mas nun conssegui fazer Sad tomara q o seu me ajude!

Fenixs

Número de Mensagens : 263
Idade : 20
Data de inscrição : 04/09/2010
Reputação : -4
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.ngames4u.webs.com/

Voltar ao Topo Ir em baixo

Qualidade Re: Tutorial completo do Gerudo: Plataforma,tiro,inimigos,e muitos mais PARTE 1

Mensagem por Conteúdo patrocinado Hoje à(s) 18:06


Conteúdo patrocinado


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