GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por 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

Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por JV Justino Sex 01 Jul 2011, 19:21

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: GM8 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;
-Explicando-

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
-Explicando

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)
-Explicando-
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;
}
-Explicando-

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: isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Block3

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;
-Explicando-

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;
-Explicando-

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;
-Explicando

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)
-Explicando

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;
}
-Explicando-

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: isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Shadowgi

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
JV Justino

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 13 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por Biemorth Sex 01 Jul 2011, 19:38

lendo jornal ó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
Biemorth
Biemorth

Games Ranking : Sem avaliações

Data de inscrição : 23/09/2010
Reputação : 4
Número de Mensagens : 283
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

https://facebook.com/playtimers

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por JV Justino Sex 01 Jul 2011, 20:02

!GO┴E! escreveu: lendo jornal ó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
Muito obrigado!
Talvez disponibilizarei, mas só depois.

flw

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
JV Justino

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 13 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por andreh Sex 01 Jul 2011, 20:08

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
andreh

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 09/03/2011
Reputação : 3
Número de Mensagens : 183
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por JV Justino Sex 01 Jul 2011, 20:13

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!
É 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.
Muito obrigado por comentar!
JV Justino
JV Justino

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 13 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por sonic luan Sex 01 Jul 2011, 21:41

muito bom excelente tutorial.
100% aprovado Smile
sonic luan
sonic luan

Games Ranking : Nota C

Notas recebidas : C-D-A-C
Data de inscrição : 28/01/2011
Reputação : 18
Número de Mensagens : 1003
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://sonicmaker.forumeiros.com/memberlist

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por Livsk Sex 01 Jul 2011, 21:50

Muito bom tutorial, vai ajudar muita gente!

Esses dias eu tava achando alguns tutos para isometric! Agora não vou mais precisar procurar! Laughing

100% aprovado
²

Flw!
Livsk
Livsk

Games Ranking : Nota C

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 : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por JV Justino Sex 01 Jul 2011, 22:03

sonic luan escreveu:muito bom excelente tutorial.
100% aprovado Smile
Muito obrigado!

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! Laughing

100% aprovado
²

Flw!
Jogos isométricos são muito difíceis, por isso é difícil achar tutoriais e engines sobre.
Muito obrigado!

flw
JV Justino
JV Justino

Games Ranking : Nota A

Notas recebidas : A+A
Data de inscrição : 07/12/2010
Reputação : 20
Número de Mensagens : 619
Prêmios : isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty

Medalhas x 0 Tutoriais x 13 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

isometrico - [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis Empty Re: [Isométrico] Parte 2 - Blocos Flutuante e Plataformas Móveis

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos