Entrar
Últimos assuntos
» Colisões não funcionandopor RastaMaan Sex 26 Abr 2024, 19:49
» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45
» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18
» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30
» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07
» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45
» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51
» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31
» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11
» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39
» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27
» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30
» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17
» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18
» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34
» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13
» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18
» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12
» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02
» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55
» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42
» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56
» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49
» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21
» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21
[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
» Engine Movimentação plataforma
» [TUTORIAL] Movimentação de um Carro
» Movimentação em plataforma...
» Movimentação básica estilo plataforma
» Engine Movimentação plataforma
» [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
|
|