Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Ontem à(s) 13:33
» É possível fazer istó no game maker
por William Lima Ontem à(s) 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» 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
» 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
[Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
5 participantes
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
[Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
Nome: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
Descrição: Como fazer blocos que flutuam e plataformas que se movimentam
Nível: Intermediário
Requerimentos: Lite/Pro
Olá a todos!
Como prometido, aqui está o segundo tutorial sobre jogos Isométricos. Neste tutorial será ensinado como fazer Blocos flutuantes, ou seja, blocos que ficam parados no ar, fazendo com que o player possa passar por baixo dele, e Plataformas móveis, platarformas que podem se locomover levando o player sobre ela.
Vamos começar!
Se ainda não viu a primeira aula, Clique Aqui.
Crie um objeto chamado obj_float. Coloque nele a sprite spr_block e a mask
mask_block, e como Parent coloque o objeto obj_block.
No evento Create coloque:
z=32;
Define a altura do bloco.
depth=-y-z/3
Define a profundidade, relacionando a posição y com a altura.
Agora no evento Step, coloque:
Se o player estiver acima do bloco ou abaixo dele, ele não será sólido, permitindo o player caminhar sobre ou abaixo dele. Se o player estiver ao lado do bloco, ele será sólido.
E no evento Draw coloque:
Desenha a sprite do objeto, diminuindo a posição y pela altura, e adicionando 16, que é o tamanho total do objeto.
Bom, agora que o bloco flutuante está feito, vamos configurar o player para atravessá-lo quando estiver em baixo:
No evento de colisão com o obj_block coloque:
Se o player estiver abaixo do bloco, e colidir com ele enquanto pula, ele irá voltar ao chão.
E está pronto o bloco flutuante. Para fazer outros blocos flutuantes com alturas diferentes, é só seguir os procedimentos do tutorial, somente alterando a altura. Lembrando que ela deve ser divisível a 16.
Crie uma sprite e chame-a de spr_platform. Carregue a imagem:
Crie um objeto e chame-o de obj_platform. Coloque nele a sprite spr_platform e a mask mask_block.
No evento Create coloque:
z=32;
Define a altura da plataforma.
hspeed=2
Define a velocidade horizontal.
vspeed=-1
Define a velocidade vertical.
No evento Step coloque:
Define se a plataforma será sólida ou não, conforme a altura do player, e calcula a profundidade.
Adicione um evento de colisão com o obj_block, e nele coloque:
Inverte as velocidades horizontal e vertical, fazendo a plataforma andar na direção oposta.
E no evento Draw coloque:
Desenha a sprite conforme as posições x e y e a altura.
Agora que a plataforma foi feita, vamos configurar o player:
Adicione o evento de colisão com o obj_platform, e nele coloque:
if(z>=other.z)
{
zland=other.z;
hspeed=other.hspeed;
vspeed=other.vspeed;
}
Se estiver sobre a plataforma, ele irá se mover conforme a hspeed e a vspeed da plataforma.
if(z>=other.z-40 && z {
zspeed=-4;
zspeed-=zgravity;
}
Se estiver abaixo dela e colidir durante o pulo, ele voltará ao chão.
Pronto! A plataforma está feita e o player está configurado! Mas... ele não se mexe!
É por que ele foi programado para não se mover se nenhuma tecla for pressionada. Para isso não acontecer, temos que mudar um código.
No evento Step do obj_player, haverá um código como esse:
Substitua por este:
Assim, ele não ficará parado se estiver sobre a plataforma.
E assim fica pronta a plataforma. Você pode criar plataformas seguindo os mesmos procedimentos, alterando a altura e a direção.
Quando você coloca os blocos flutuantes e móveis na room, eles dão a impressão de estarem no chão. Para evitar que isso aconteça, você pode usar uma sombra. Crie uma sprites e chame-a de spr_shadow, e carregue esta imagem:
Para desenhá-la, vá ao evento Draw do bloco, e coloque o código:
Ele desenhará a sombra abaixo do bloco, nas suas posições x e y, desconsiderando a altura do bloco.
E chega ao fim este tutorial. Espero que tenham gostado! Qualquer dúvida, crítica ou sugestão é só falar!
さようなら!
Parte 3 - Movimentação de NPCs. Aguardem!
Descrição: Como fazer blocos que flutuam e plataformas que se movimentam
Nível: Intermediário
Requerimentos: Lite/Pro
Olá a todos!
Como prometido, aqui está o segundo tutorial sobre jogos Isométricos. Neste tutorial será ensinado como fazer Blocos flutuantes, ou seja, blocos que ficam parados no ar, fazendo com que o player possa passar por baixo dele, e Plataformas móveis, platarformas que podem se locomover levando o player sobre ela.
Vamos começar!
Se ainda não viu a primeira aula, Clique Aqui.
1- Blocos Flutuantes
Crie um objeto chamado obj_float. Coloque nele a sprite spr_block e a mask
mask_block, e como Parent coloque o objeto obj_block.
No evento Create coloque:
- Código:
z=32;
depth=-y-z/3;
z=32;
Define a altura do bloco.
depth=-y-z/3
Define a profundidade, relacionando a posição y com a altura.
Agora no evento Step, coloque:
- Código:
if(obj_player.z>=z || obj_player.z<z-16) solid=1
else solid=true
Se o player estiver acima do bloco ou abaixo dele, ele não será sólido, permitindo o player caminhar sobre ou abaixo dele. Se o player estiver ao lado do bloco, ele será sólido.
E no evento Draw coloque:
- Código:
draw_sprite(sprite_index,image_index,x,y-z+16)
Desenha a sprite do objeto, diminuindo a posição y pela altura, e adicionando 16, que é o tamanho total do objeto.
Bom, agora que o bloco flutuante está feito, vamos configurar o player para atravessá-lo quando estiver em baixo:
No evento de colisão com o obj_block coloque:
- Código:
if(z>=other.z-40 && z<other.z)
{
zspeed=-2;
zspeed-=zgravity;
}
Se o player estiver abaixo do bloco, e colidir com ele enquanto pula, ele irá voltar ao chão.
E está pronto o bloco flutuante. Para fazer outros blocos flutuantes com alturas diferentes, é só seguir os procedimentos do tutorial, somente alterando a altura. Lembrando que ela deve ser divisível a 16.
2- Plataformas Móveis
Crie uma sprite e chame-a de spr_platform. Carregue a imagem:
Crie um objeto e chame-o de obj_platform. Coloque nele a sprite spr_platform e a mask mask_block.
No evento Create coloque:
- Código:
z=48;
hspeed=2;
vspeed=-1;
z=32;
Define a altura da plataforma.
hspeed=2
Define a velocidade horizontal.
vspeed=-1
Define a velocidade vertical.
No evento Step coloque:
- Código:
if(obj_player.z>=z || obj_player.z<z-16) solid=false
else solid=true
depth=-y-z/3;
Define se a plataforma será sólida ou não, conforme a altura do player, e calcula a profundidade.
Adicione um evento de colisão com o obj_block, e nele coloque:
- Código:
hspeed=-hspeed;
vspeed=-vspeed;
Inverte as velocidades horizontal e vertical, fazendo a plataforma andar na direção oposta.
E no evento Draw coloque:
- Código:
draw_sprite(sprite_index,image_index,x,y-z+16)
Desenha a sprite conforme as posições x e y e a altura.
Agora que a plataforma foi feita, vamos configurar o player:
Adicione o evento de colisão com o obj_platform, e nele coloque:
- Código:
if(z>=other.z)
{
zland=other.z;
hspeed=other.hspeed;
vspeed=other.vspeed;
}
if(z>=other.z-40 && z<other.z)
{
zspeed=-4;
zspeed-=zgravity;
}
if(z>=other.z)
{
zland=other.z;
hspeed=other.hspeed;
vspeed=other.vspeed;
}
Se estiver sobre a plataforma, ele irá se mover conforme a hspeed e a vspeed da plataforma.
if(z>=other.z-40 && z
zspeed=-4;
zspeed-=zgravity;
}
Se estiver abaixo dela e colidir durante o pulo, ele voltará ao chão.
Pronto! A plataforma está feita e o player está configurado! Mas... ele não se mexe!
É por que ele foi programado para não se mover se nenhuma tecla for pressionada. Para isso não acontecer, temos que mudar um código.
No evento Step do obj_player, haverá um código como esse:
- Código:
else
{
vspeed=0;
hspeed=0;
}
Substitua por este:
- Código:
else if(!place_meeting(x,y,obj_move))
{
vspeed=0;
hspeed=0;
}
Assim, ele não ficará parado se estiver sobre a plataforma.
E assim fica pronta a plataforma. Você pode criar plataformas seguindo os mesmos procedimentos, alterando a altura e a direção.
3- Bônus
Quando você coloca os blocos flutuantes e móveis na room, eles dão a impressão de estarem no chão. Para evitar que isso aconteça, você pode usar uma sombra. Crie uma sprites e chame-a de spr_shadow, e carregue esta imagem:
Para desenhá-la, vá ao evento Draw do bloco, e coloque o código:
- Código:
draw_sprite(spr_shadow,0,x,y);
Ele desenhará a sombra abaixo do bloco, nas suas posições x e y, desconsiderando a altura do bloco.
E chega ao fim este tutorial. Espero que tenham gostado! Qualquer dúvida, crítica ou sugestão é só falar!
さようなら!
Parte 3 - Movimentação de NPCs. Aguardem!
Última edição por JV Justino em Qua 17 Dez 2014, 15:37, editado 12 vez(es)
JV Justino- Games Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios :
x 0 x 13 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
ótimo tuto parabéns muito bom mesmo não vou poder testar mas li tudin tá ótimo mesmo creio que será +1 tutorial aprovado para a lista vc explica mto bem disponibiliza uma engine do tutorial
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
Muito obrigado!!GO┴E! escreveu: ótimo tuto parabéns muito bom mesmo não vou poder testar mas li tudin tá ótimo mesmo creio que será +1 tutorial aprovado para a lista vc explica mto bem disponibiliza uma engine do tutorial
Talvez disponibilizarei, mas só depois.
Para todos:
Os códigos estão apresentando alguns problemas, devido a auto-formatação. Se tiverem alguma dúvida relacionada é só falar que eu ajudo.
Muito obrigado!
JV Justino- Games Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios :
x 0 x 13 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
Parabéns! Mais um ótimo tutorial! Sei lá, mas não libere a engine ainda, mta gente vai só baixar e sair usando, termine os tutos e vá deixando o leitor curioso kkkkkkkk, e só depois libere!
andreh- Games Ranking :
Notas recebidas : C
Data de inscrição : 09/03/2011
Reputação : 3
Número de Mensagens : 183
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
É verdade. Este é um problema na disponibilização de engines. Prefiro muito mais tutoriais, pois você tem lê-lo para saber o que está fazendo. Engines não, você só pega os códigos e usa eles sem saber o que fazem.andreh escreveu:Parabéns! Mais um ótimo tutorial! Sei lá, mas não libere a engine ainda, mta gente vai só baixar e sair usando, termine os tutos e vá deixando o leitor curioso kkkkkkkk, e só depois libere!
Muito obrigado por comentar!
JV Justino- Games Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios :
x 0 x 13 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
muito bom excelente tutorial.
100% aprovado
100% aprovado
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
Muito bom tutorial, vai ajudar muita gente!
Esses dias eu tava achando alguns tutos para isometric! Agora não vou mais precisar procurar!
Flw!
Esses dias eu tava achando alguns tutos para isometric! Agora não vou mais precisar procurar!
²100% aprovado
Flw!
Livsk- Games Ranking :
Notas recebidas : C + C + D + D + D + D + B + B + A + C + B
Data de inscrição : 02/06/2011
Reputação : 13
Número de Mensagens : 365
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis
Muito obrigado!sonic luan escreveu:muito bom excelente tutorial.
100% aprovado
Jogos isométricos são muito difíceis, por isso é difícil achar tutoriais e engines sobre.livsk escreveu:Muito bom tutorial, vai ajudar muita gente!
Esses dias eu tava achando alguns tutos para isometric! Agora não vou mais precisar procurar!
²100% aprovado
Flw!
Muito obrigado!
JV Justino- Games Ranking :
Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios :
x 0 x 13 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Plataformas moveis...
» Plataformas Móveis Verticais
» Plataformas Móveis Vertical e Horizontal !!!
» [Engine]Plataformas moveis (Gustavo Ferreira)
» Engine SONIC com plataformas moveis (sem bugs).
» Plataformas Móveis Verticais
» Plataformas Móveis Vertical e Horizontal !!!
» [Engine]Plataformas moveis (Gustavo Ferreira)
» Engine SONIC com plataformas moveis (sem bugs).
GMBR :: Ensine & Aprenda :: Tutoriais :: Game Maker
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos