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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» 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

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


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

5 participantes

Ir para baixo

[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: [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: [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 : [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

[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 : [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

[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 : [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

[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 : [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

[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 : [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

[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 : [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

[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 : [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

[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 : [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

[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