[TUTO] A melhor movimentação em plataforma - Com Sprites

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Sex 27 Maio 2011, 14:37

Boas! Galera! Vamos a um tutorial que você nunca mais vai esquecer e sempre vai querer usar =D

Porque? Por que é simplesmente PERFEITO =D

Nome: A melhor movimentação em plataforma - Com Sprites
Descrição: Tuto que ensina à você criar uma movimentação em plataforma perfeita!
Nível de dificuldade: iniciante, mediano.
Requerimentos: GM 8 LITE
Desenvolvimento: 100% completo


Bem então é o seguinte, temos que criar 6 sprites. affraid Porque 6 sprites? Por que simplesmente você tem que criar um sprite que de um lado do sprite seja de um jeito, e do outro seja de outro jeito, ou seja que nem esse:
Spoiler:
ESQUERDA
DIREITA
Repare que há diferença nos lados do sprite =D Isso deixa seu game mais rico em detalhes =D

Uma andando para a direita: spr_and_dir
Uma andando para a esquerda: spr_and_esq
Uma parada para a direita: spr_par_dir
Uma parada para a esquerda: spr_par_esq
Uma pulando para a direita: spr_pul_dir
Uma pulando para a esquerda: spr_pul_esq


LEMBRANDO MARQUE SEMPRE O CENTRO DA SPRITE E TODAS TEM QUE ESTAR COM O MESMO TAMANHO EXEMPLO: 100X100


Após criado a sprite Você deverá fazer a maskara do player, affraid Mas meu personagem não tem mascara!
A mascara que vamos criar não é a mascara do rosto e sim uma mascara para a colisão do nosso player, é a peça que ira bater com as coisas! A mascara nada mais é do que uma sprite preta do mesmo tamanho do pé do player, assim: spr_mask_player
Spoiler:

Ok, tendo a mascara criada e os 6 sprites do player, faça uma sprite que será o chão tbm =D

Vamos aos objetos! São apenas 2 objetos: o obj_player e o obj_chao

No obj_player, selecione a spr_par_esq e onde esta escrito mask coloque o mask do player que vc criou lembra spr_mask_player
Spoiler:

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=spr_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=spr_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=spr_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=spr_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=spr_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=spr_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 tudo na room de acordo com o seu gosto e teste =D
Então é isso galera caso encontrem algum erro me comuniquem! Obrigado até a próxima... flw

Tutorial feito por Soul Limaloko
Sprites por Mutte


Última edição por Soul Limaloko em Dom 06 Nov 2011, 04:30, editado 2 vez(es)

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por PedroX em Seg 30 Maio 2011, 10:12

Bom tutorial.
O movimento está fluindo bem.
Só acho que há um exagero de variaveis, me fez lembrar a Aula 11 do reddragon (que eu tenho no pc).
Mesmo assim, está com os movimentos bons.

Até mais!

PedroX

Ranking : Nota C
Número de Mensagens : 6034
Idade : 21
Data de inscrição : 26/07/2008
Notas recebidas : C+B
Reputação : 286
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Ter 31 Maio 2011, 04:27

HEHE Vlws, mas sabe neh? Quanto mais Variaveis Menos Bugs! =D

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Knonick em Ter 31 Maio 2011, 10:55

Ótimo tutorial! Estou usando no meu jogo, mas modifiquei um pouco. Créditos garantidos.

Knonick

Número de Mensagens : 92
Idade : 18
Data de inscrição : 10/05/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por eliton perera em Sex 04 Nov 2011, 21:46

gente porq aparece isso meu


FATAL ERROR in
action number 1
of Step Event
for object obj_parado(3:

COMPILATION ERROR in code action
Error in code at line 36:
sprite_index=spr_andando(3; //Se sim, a sprite dele se torna a sprite do personagem andando para a direita.
^
at position 15: Unknown function or script: spr_andando

eliton perera

Número de Mensagens : 76
Data de inscrição : 04/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Sex 04 Nov 2011, 23:12

Oi amigo, vi que voce está com problema isso aparece por que você tem que renomear as suas sprites ou seja, ao inves de sprite0 que ja vem de padrão voce deve colocar spr_andando (spr= sprite) entende?

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Super Games em Sab 05 Nov 2011, 11:56

Ótimo tutorial, só que eu estou sem tempo para testar o tutorial, poderia fazer uma engine?

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por eliton perera em Sab 05 Nov 2011, 12:11

porq no meu ta dando esse erro

http://dl.dropbox.com/u/48274448/error%20do%20caralho.png

eliton perera

Número de Mensagens : 76
Data de inscrição : 04/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Dancity em Sab 05 Nov 2011, 13:12

Olha alí na linha 33 você abriu um "{" e não fechou. É isso que está causando o erro.

Edit: O Tutorial ficou muito bom, testei os movimentos, e ficaram bem legais. Parabéns!
Você podia explicar o que cada código faz, fora isso tá perfeito.

Dancity

Ranking : Nota A
Número de Mensagens : 1339
Data de inscrição : 11/01/2009
Notas recebidas : A
Reputação : 8
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   :
   :

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Sab 05 Nov 2011, 17:13

Dancity escreveu:Olha alí na linha 33 você abriu um "{" e não fechou. É isso que está causando o erro.

Edit: O Tutorial ficou muito bom, testei os movimentos, e ficaram bem legais. Parabéns!
Você podia explicar o que cada código faz, fora isso tá perfeito.

Vlws Bro, vou fazer isso já!

EDIT

Na verdade, tem como explicar mais do que já tá? uashuahsuahuahs eu fui editar mas ja ta tudo explicado! kkkkkkkkkkk Flws Mais uma vez Obrigado!

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

duvida sobre spr_mask

Mensagem por eliton perera em Sab 05 Nov 2011, 21:52

isso q é mask?

http://dl.dropbox.com/u/48274448/spr%20mask.jpg scratch

é assim

EDIT:
ja resolvi e consigui vlw cara seu topico é demais

eliton perera

Número de Mensagens : 76
Data de inscrição : 04/11/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Sab 05 Nov 2011, 23:56

É isso mesmo cara! Ta aprendendo em! ;D mas cuidado seu warning ja ta menos que o meu! uashuahuashuahuhs! Flws cara

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Leon e Chris em Sab 07 Jan 2012, 21:55

NOSSA, MUITO BOM ESSE TUTORIAL!
TO USANDO ELE, VOU DAR CRÉDITOS Happy

Me ajudou muito, tudo funciona perfeitamente felicidade

Leon e Chris

Ranking : Nota E
Número de Mensagens : 125
Idade : 17
Data de inscrição : 05/11/2011
Notas recebidas : E+E+D+E
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por joao truzzi em Sab 07 Jan 2012, 22:06

muito bom o tutorial, eu ñ testei mas eu vi q é a mesma coisa q
eu fiz no meu jogo de mario

joao truzzi

Número de Mensagens : 24
Idade : 20
Data de inscrição : 19/09/2011
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Stilomeu em Seg 29 Jul 2013, 15:57

aqui quando o personagem cai no chão ele fica parado eu n consigo meche nele ele não muda sprite nem nada fica lá paradão, mais dai só se meche quando eu pulo e quando toca o chão fica paradão de novo, e eu não quero fazer meu jogo só pulando :l .

Stilomeu

Número de Mensagens : 3
Data de inscrição : 24/07/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Ter 30 Jul 2013, 10:51

Stilomeu escreveu:aqui quando o personagem cai no chão ele fica parado eu n consigo meche nele ele não muda sprite nem nada fica lá paradão, mais dai só se meche quando eu pulo e quando toca o chão fica paradão de novo, e eu não quero fazer meu jogo só pulando :l .

Neste caso, foi por causa da Mask que você usou lá nos sprites, ou porque você esqueceu de marcar a opção solid no objeto... dá uma olhada lá Smile

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Muito bom

Mensagem por willyruduit em Qua 28 Ago 2013, 21:09

Muito bom seu tuto bounce  bem explicado, todos deveriam ser assim Happy   Parabéns  e continue assim.. flw

willyruduit

Ranking : Nota A
Número de Mensagens : 306
Idade : 28
Data de inscrição : 02/08/2013
Notas recebidas : B-B-B-A-A
Reputação : 33
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Limalokão em Qui 29 Ago 2013, 10:38

Obrigado Cara Very Happy Espero qualquer dia mandar mais uns TUTO's. Faz tempo que não faço...

Limalokão

Ranking : Nota C
Número de Mensagens : 803
Idade : 24
Data de inscrição : 24/11/2009
Notas recebidas : C
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por JPlays em Sab 14 Set 2013, 10:26

Você poderia criar uma continuação deste tutorial ensinando a se movimentar em rampas? sem dar pulinhos quando o jogador esta descendo?

JPlays

Número de Mensagens : 31
Idade : 18
Data de inscrição : 13/07/2013
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://youtube.com/joaopaulomvotri

Voltar ao Topo Ir em baixo

Re: [TUTO] A melhor movimentação em plataforma - Com Sprites

Mensagem por Conteúdo patrocinado Hoje à(s) 06:41


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum