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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» 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

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


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