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 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) 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

» (RESOLVIDO) 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


Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

5 participantes

Ir para baixo

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por Mannoroth Qua 16 Mar 2011, 21:46

Tutorial: fazendo um jogo de plataforma contendo pulo, abaixar-se, correr, pegando moedas até chegar em 100 formando uma vida, cair penhasco perdendo uma vida com animação(morrendo).
Tenha os seguintes sprites do personagem:
Spoiler:

tenha tbm um sprite pro chao e outro pras moedas(spr_moeda). E um spr_morto, que é do personagem ao morrer mas será colocado em outro objeto neste tuto.

Crie um objeto para ser o player, chamarei de obj_player. No create dele coloque no code:

Código:
direita=true
andando=false
abaixado=false
pe_no_chao=true
varvelocidade=0
correndo=false
velocidade=5
global.moedas=0
global.vidas=2
O nosso objeto funcionara assim, as teclas acionarão variaves(tornar true ou false), dependendo da combinação de serem verdadeiras ou falsas, o step definirá o sprite do objeto.

Agora some um evento keyboard RIGHT e coloque:
Código:
direita=true
andando=true
x+=velocidade
E num evento keyboard LEFT coloque o code:
Código:
direita=false
andando=true
x-=velocidade
crie um event 'key press UP' e bote o code:
Código:
if gravity=0 && !place_free(x,y+1) && place_free(x,y-13)
{
  vspeed=-14;pe_no_chao=false
}
Crie um event keyboard DOWN e bote:
Código:
if pe_no_chao=true abaixado=true
e num event release keyboard DOWN bote:
Código:
abaixado=false
agora vamos para o step. No step bote o code:

Código:
if pe_no_chao=true {
if correndo=false {
if andando=true {if direita=true{sprite_index=spr_and_dir} else {sprite_index=spr_and_esq}}
else
{if abaixado=false {if direita=true{sprite_index=spr_par_dir} else {sprite_index=spr_par_esq} } else  {if direita=true{sprite_index=spr_aba_dir} else {sprite_index=spr_aba_esq} }}
}
else
{if direita=true{sprite_index=spr_cor_dir} else {sprite_index=spr_cor_esq}}
}
else {if direita=true{sprite_index=spr_pul_dir} else {sprite_index=spr_pul_esq}}

Agora vamos fazer o player acelerar no 'espaço' enquanto anda, até estar correndo.
Add um evento keyboard SPACE e bote o code:
Código:
if pe_no_chao=true and andando=true varvelocidade+=2
No Step do objeto adicione mais este code:
Código:
if varvelocidade<20 velocidade=5
if varvelocidade>=20 and varvelocidade<50 velocidade=6.6
if varvelocidade>=50 velocidade=10
if varvelocidade>80 varvelocidade=80
if varvelocidade<0 varvelocidade=0
if varvelocidade>=50 correndo=true else correndo=false

No release SPACE bote esse code:
Código:
varvelocidade=0
Com isso teremos que se o personagem já estiver andando, ao segurar espaço ele vai ganhando velocidade, ate correr. Dependendo da quantidade atual de varvelocidade(q so pode aumentar se vc tiver com player no cha) a velocidade aumenta.A variavel 'velocidade' é que controla o tanto que o player anda, pois ela esta no event keyboard RIGHT e LEFT dele. Ao soltar o espaço a varvelocidade volta a ser 0.

Num evento release LEFT bote isso:
Código:
andando=false
varvelocidade=0
E num evento release RIGHT bote de novo:
Código:
andando=false
varvelocidade=0
Assim soltando LEFT e RIGHT a 'velocidade' volta ser 5 (pois é menor que 20).
Crie um objeto pra ser o chao(com o devido sprite); marque ele como 'solid' e bote depht:10. No obj_player crie um evento colisao com o objeto chao e bote:
Código:
move_contact_solid(direction,10)
vspeed = 0
pe_no_chao = true

Agora vamos botar moedas, de modo que ao colidir com uma você a pegue e se chegar a 100 moedas você ganha uma vida e o nº de moedas voltam a 0.
Crie um obj_moeda, com o spr_moeda e na colisão com obj_player bote:

Código:
with self instance_destroy()
if !global.moedas=99 global.moedas+=1 else {global.moedas=0;global.vidas+=1}

Para ver o status da quantidade de moedas e vidas durante o jogo, crie um obj_status sem sprite, e bote no evento DRAW:
Código:
draw_text(x,y+20,global.moedas)
draw_text(x,y,global.vidas)
draw_sprite(spr_par_dir,image_index,x-16,y)
draw_sprite(spr_moeda,image_index,x-16,y+20)
Para o obj_status seguir a room bote isso no step dele:
Código:
x=view_xview+40
y=view_yview+40


Para programar que o obj_player morra ao cair, voltando ao ponto inicial e perdendo uma vida, bote mais este code no step do obj_player:
Código:
if y>490 {instance_change(obj_morto,1)}
Mas crie um obj_morto, botando spr_morrendo, no event create dele bote o code:
Código:
vspeed=-20
gravity=1
alarm[0]=40
No step dele bote o code:
Código:
global.vidas-=1
if global.vidas=0 {game_restart()} else {x=280;y=280;instance_change(obj_player,1)}

o 490 aqui é o nivel que o player nao pode ultrapassar, pois se passar volta para o ponto x=96 y=280 que é o ponto inicial do obj_player no meu jogo. Esses 3 valores você pode alterar para os que quiserem. Quando o nº de vidas for menor q 0, o jogo todo reinicia nesse caso.
Por fim, vamos programar para o obj_player nao ultrapassar os limites x do cenário. Para isso, no mesmo code adicione estas linhas:
Código:
if x<10 x=10
if x>2600 x=2600
sao os limites da minha engine de exemplo, voce altera com os valores q quiser.

Links para Download da engine
http://www.4shared.com/file/4bFCQYII/EnginePlataf-correr_abaixar_mo.html

LEFT e RIGHT para mover, segure espaço enquanto anda para correr, aperte DOWN para se abaixar. Pegue 100 moedas para ganhar uma vida. Se cair vc vê animação morrendo e perde uma vida.
Se gostou do tutorial, aumente a reputação nesse post, vlw e bom uso.


Última edição por Mannoroth em Seg 02 maio 2011, 21:29, editado 1 vez(es)
Mannoroth
Mannoroth

Games Ranking : Nota D

Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios : Tuto c/ engine de Plataforma - Abaixar, morrer com animação... 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

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por Convidad Qui 17 Mar 2011, 13:41

o download ta com erro mas o tutorial ta 10
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por Lauro Qui 17 Mar 2011, 14:37

Manoroth, baixei a sua engine, muito boa^^
Acho que pra mim ela nao seria muito util, mais para os novatos, pois eu ja tenho uma ideia de GML.
Porém achei um bug na engine: ao pular,e colidir a parte de cima do player com a parte de baixo, ele gruda.
Tomei a liberdade e criei uma mask no player.
Por favor, em nome dos novatos peço que arrume a mask e refizesse o link de download.
Lauro
Lauro

Games Ranking : Nota D

Notas recebidas : C+D
Data de inscrição : 09/11/2010
Reputação : 11
Número de Mensagens : 855
Prêmios : Tuto c/ engine de Plataforma - Abaixar, morrer com animação... 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

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por Mannoroth Sex 18 Mar 2011, 20:57

Lauro, me diz especificamente o que vc mudou que eu altero e boto no post. Ae aproveito e boto um link 4shared e outro megaupload.
Ae galera, pra quem gostou eu pedi pra aumentar a reputação no post(clicando no + q fica perto do meu avatar), merece né?
E se quiserem deem sugestoes pra acrescentar mais coisas q jogos de plataformas geralmente tem.
Mannoroth
Mannoroth

Games Ranking : Nota D

Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios : Tuto c/ engine de Plataforma - Abaixar, morrer com animação... 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

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por sonic luan Seg 21 Mar 2011, 07:33

gostei otimo tutorial.
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 : Tuto c/ engine de Plataforma - Abaixar, morrer com animação... 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

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por Luiz A. Oliveira Seg 21 Mar 2011, 07:44

tutorial daora, mas podia usar o image_xscale em vez de criar tantas sprites.
Luiz A. Oliveira
Luiz A. Oliveira

Games Ranking : Nota C

Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Reputação : 5
Número de Mensagens : 914
Prêmios : Tuto c/ engine de Plataforma - Abaixar, morrer com animação... 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

http://luizgm.blogspot.com/

Ir para o topo Ir para baixo

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

Mensagem por Juliano Santos Dom 27 Nov 2011, 14:01

Tem um bug quando o personagem colide com o bloco ele fica grudado nele.
Juliano Santos
Juliano Santos

Data de inscrição : 11/04/2011
Reputação : 0
Número de Mensagens : 140
Prêmios : Tuto c/ engine de Plataforma - Abaixar, morrer com animação... 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

http://canaldamusica.musicblog.com.br/

Ir para o topo Ir para baixo

Tuto c/ engine de Plataforma - Abaixar, morrer com animação... Empty Re: Tuto c/ engine de Plataforma - Abaixar, morrer com animação...

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