Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
[Tutorial]Movimentação de plataforma
2 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Tutorial]Movimentação de plataforma
Nome: Rickelme.dias
Creditos: Ficaria grato se coloca-se mais não é obrigado.
Descrição:iremos aprender a por, gravidade,movimentação,variaveis(+- eu tentei meio que chutando essa parte mais saiu bem),e troca de sprite
Nível de dificuldade: iniciante.
Requerimentos: PRO(Não sei se funfa em lite se quiser tentar)
Bom pessoal vemos por a mão na massa(ditado de pedreiro kk)
Repare que há diferença nos lados do sprite =D Isso deixa seu game mais rico em
detalhes =D
Uma andando para a direita: and_dir
Uma andando para a esquerda: and_esq
Uma parada para a direita: par_dir
Uma parada para a esquerda: par_esq
Uma pulando para a direita: pul_dir
Uma pulando para a esquerda: pul_esq
!LEMBRANDO MARQUE SEMPRE O CENTRO DA SPRITE!
Ok, tendo as 6 sprites criadas e centralizadas, crie a sprite chao tbm
Vamos aos objetos! São apenas 2 objetos: o obj_player e o obj_chao
No obj_player, selecione a sprite par_esq/par_dir.
Adicione um evento create e arraste o execute code na aba control
e coloque o seguinte código:
Adicione um evento step e arraste o execute code na aba control
e coloque o seguinte código:
Feito isso adicione um evento de colisão com o obj_chao e arraste o
execute code na aba control e coloque o seguinte código:
Agora no obj_chao, marque ele como solid!
Coloque os dois objetos room do seu jeito, como bem quiser.
E KABUM está feito em um simples codigo ... Valew foi isso até mais
Quer colocar um ataque?Clique aqui e veja um tutorial de como por ataque
Creditos: Ficaria grato se coloca-se mais não é obrigado.
Descrição:iremos aprender a por, gravidade,movimentação,variaveis(+- eu tentei meio que chutando essa parte mais saiu bem),e troca de sprite
Nível de dificuldade: iniciante.
Requerimentos: PRO(Não sei se funfa em lite se quiser tentar)
Bom pessoal vemos por a mão na massa(ditado de pedreiro kk)
Repare que há diferença nos lados do sprite =D Isso deixa seu game mais rico em
detalhes =D
Uma andando para a direita: and_dir
Uma andando para a esquerda: and_esq
Uma parada para a direita: par_dir
Uma parada para a esquerda: par_esq
Uma pulando para a direita: pul_dir
Uma pulando para a esquerda: pul_esq
!LEMBRANDO MARQUE SEMPRE O CENTRO DA SPRITE!
Ok, tendo as 6 sprites criadas e centralizadas, crie a sprite chao tbm
Vamos aos objetos! São apenas 2 objetos: o obj_player e o obj_chao
No obj_player, selecione a sprite par_esq/par_dir.
Adicione um evento create e arraste o execute code na aba control
e coloque o seguinte código:
- Código:
image_speed=1; //É a velocidade da animação do nosso personagem. Aqui, você pode colocar o valor que desejar.
parado=true; //Variável para indicar se o personagem está parado ou não.
andando=false; //Variável para indicar se nosso personagem está andando ou não.
noar=false; //O valor dessa variável vai indicar se o personagem está no ar ou não. Importante para a checagem dos sprites.
lado=0; //O lado para que o nosso personagem está virado. 1 seria virado para a direita e 0 para a esquerda.
Adicione um evento step e arraste o execute code na aba control
e coloque o seguinte código:
- Código:
if (place_free(x,y+1)) //Checa se 1 pixel abaixo está vazio, ou seja, se não tem chão.
{gravity=0.5; noar=true;
//Coloca valor na gravidade e define a variável noar para true, ou seja, o personagem não está no chão.
} else
//Se a expressão place_free for falsa, ou seja, tenha chão embaixo:
{gravity=0; noar=false; //Gravidade se torna zero e a variável noar se torna false, ou seja, o personagem está no chão.
}
//Definiões de pulo
if (keyboard_check_pressed(vk_up)) && ! (place_free(x,y+1)) //Checa se a tecla de direção cima foi pressionada e se NÃO tem um pixel livre abaixo.
{
vspeed=-9; noar=true; friction=0 //Se for verdade, velocidade vertical se torna 9 negativo e a variávell noar se torna true, ou seja, o personagem NÃO está no chão.
}
if (vspeed>12) //Checa se a velocidade vertical do personagem possui um valor maior que 12.
vspeed=12; //Se estiver maior do que 12, o valor se torna 12. Isso serve para que o personagem não ultrapasse grandes velocidades
//verticais, podendo causar bugs no jogo.
if (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) && (place_free(x-5,y)) //Checa se a tecla de direção esquerda está sendo pressionada, e se a tecla direita NÃO está sendo pressionada e se
//tem 5 pixels de espaço à esquerda.
{x-=5; lado=0; andando=true; parado=false;//Caso a expressão acima seja verdadeira,
//o personagem se move 5 pixels a esquerda, virá para a esquerda de acordo com a
//variável lado, a variável andando se torna true para indicar que o personagem
//está andando e a variável parado se torna false, ou seja, o personagem NÃO está parado.
}
if (keyboard_check(vk_right)) && ! (keyboard_check(vk_left)) && (place_free(x+5,y)) //Mesmo de cima, só que dessa vez,
//checamos se a tecla de direção direita está sendo pressionada, se a tecla de
//direção esquerda NÃO está sendo pressionada e se tem 5 pixels à direita livre.
{x+=5; lado=1; andando=true; parado=false; //A mesma coisa do evento anterior. A
//única coisa que muda é que aqui o personagem se move 5 pixels a direita e a
//variável lado se torna 1, ou seja, ele vira pra direita.
}
if ! (keyboard_check(vk_left)) && ! (keyboard_check(vk_right)) //Checa se a tecla direita e a tecla
//esquerda não estão sendo precionadas.
{andando=false; parado=true;//Caso seja verdade, a variável andando se
//torna false, ou seja, o personagem NÃO está andando. E a variável parado se torna true, ou seja, o personagem está parado.
}
//Sprites
if (noar==false) //Checa se o personagem está no ar.
{
if (andando=true)
&& (lado==1) //Checa se o personagem está andando e se ele está virado para a direita.
{
sprite_index=and_dir; //Se sim, a sprite dele se torna a sprite do personagem andando para a direita.
}
if (andando=true)
&& (lado==0) //Checa se o personagem está andando e se ele está virado para a esquerda.
{
sprite_index=and_esq; //Se sim, o sprite dele se torna a sprite do personagem andando para a esquerda.
}
if (andando==false) && (parado==true) && (lado==1) //Se
//o personagem não está andando, se o personagem está parado e está virado para a direita:
{
sprite_index=par_dir; //Se sim, a sprite dele se torna a sprite do personagem parado para a direita.
}
if (andando==false) && (parado==true) && (lado==0) //Se o personagem não está andando, está parado e está virado para a esquerda:
{
sprite_index=par_esq; //Se sim, a sprite dele se torna o sprite do personagem parado para a esquerda.
}
}
else //Caso o personagem NÃO esteja com os pés no chão:
{
if (vspeed>0) || (vspeed<0) && (lado==1) //Se ele está pulando ou caindo e está virado para a direita:
{
sprite_index=pul_dir; //O sprite do personagem se torna o sprite dele pulando para a direita.
}
if (vspeed>0) || (vspeed<0) && (lado==0) //Se o personagem está pulando ou caindo e está virado para a esquerda:
{
sprite_index=pul_esq; //O sprite do personagem se torna o sprute dele pulando para a esquerda.
}
}
Feito isso adicione um evento de colisão com o obj_chao e arraste o
execute code na aba control e coloque o seguinte código:
- Código:
move_contact_solid(direction,12);
vspeed=0;
Agora no obj_chao, marque ele como solid!
Coloque os dois objetos room do seu jeito, como bem quiser.
E KABUM está feito em um simples codigo ... Valew foi isso até mais
Quer colocar um ataque?Clique aqui e veja um tutorial de como por ataque
Re: [Tutorial]Movimentação de plataforma
Muito bem parceiro! Só não faço tutoriais porque sou péssimo em explicar XD
Fora isso, parabéns cara! Vai ajudar muita gente!
Fora isso, parabéns cara! Vai ajudar muita gente!
Marcellomine- Data de inscrição : 22/01/2013
Reputação : 11
Número de Mensagens : 134
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Tutorial - Movimentação em plataforma
» Movimentação em plataforma...
» Movimentação básica estilo plataforma
» Plataforma - Movimentação e colisão
» [TUTORIAL] Movimentação de um Carro
» Movimentação em plataforma...
» Movimentação básica estilo plataforma
» Plataforma - Movimentação e colisão
» [TUTORIAL] Movimentação de um Carro
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos