[GEN-PLAT] [ SIGI-TUTO ] ANDANDO!! MARCHE!!
Enviado: Qui Abr 28, 2016 8:53 pm
Pipolho: Veja!! Meu player tá andando!!!
SIGI: É? Achei que ele tivesse numa esteira... o_o
Pipolho: ...... vc é um homem mau.....
Hello boys!! Hoje vou tentar explicar o básico sobre a movimentação em jogos de plataforma! É um tuto básico mas que pode servir pra criar outros tipos de movimentação... LETS GO!!
Nome: ANDANDO!! MARCHE!!
Descrição: Iremos trabalhar na movimentação horizontal do player em seus jogos de plataforma! =D
Nível de dificuldade: Iniciante/Mediano
Requerimentos: GM6/7/8.... PRO ou Lite...
hspeed?? Porque hspeed?? O que é hspeed??
Calma,meu menino....hspeed,assim como vspeed,é o valor que a cordenada X ( no caso da hspeed ) acrescenta ou diminui constantemente.
Pipolho: QUEÊ??? O_o
Vamos dar um exemplo... meu objeto míssil-mata-crianças possui hspeed=10.
Então...meu míssil automáticamente irá se deslocar pra direita,de 10 em 10 pixels,e só irá parar até que sua hspeed se torne 0.
Pipolho: .....
Sua besta,o próprio nome já diz!! h ( horizontal ) speed ( velocidade )!!
A velocidade horizontal do objeto!!!
Pipolho: AAhhnnnn....
SIGI: :--': ... confesse,vc nao entendeu....
Pipolho: Se explicasse bem,teria entendido....
Bem, entendendo melhor o que é a hspeed.poderemos começar a criar o movimento do nosso player! YEEEAAHHHH!!!!
Mas antes de mais nada, vamos pensar..... hspeed....
Velocidade.... a velocidade é algo que irá variar durante o jogo... o que devemos fazer?
Pipolho: Encerrar este tuto.... quero jogar Mega Pong!!!
SIGI: Calado.
Vamos criar uma variável.... dãa....
Vá no CREATE e digite....
Código: Selecionar todos
VELOCIDADE=4
Agora.... no STEP de nosso player...vamos digitar o código mágico da parada!! XD
Código: Selecionar todos
if keyboard_check(vk_right)=true and hspeed<VELOCIDADE
hspeed+=VELOCIDADE/10
if keyboard_check(vk_left)=true and hspeed>-VELOCIDADE
hspeed-=VELOCIDADE/10
if keyboard_check(vk_right)=false and hspeed>0
{
hspeed-=VELOCIDADE/10
if hspeed<0
hspeed=0
}
if keyboard_check(vk_left)=false and hspeed<0
{
hspeed+=VELOCIDADE/10
if hspeed>0
hspeed=0
}
Pipolho: Obrigado,já tenho o q eu queria... até logo!
SIGI: Maldito pirralho!! Volte aqui!!
Agora,vou explicar o que esse código faz....
Código: Selecionar todos
if keyboard_check(vk_right)=true and hspeed<VELOCIDADE
hspeed+=VELOCIDADE/10
if keyboard_check(vk_left)=true and hspeed>-VELOCIDADE
hspeed-=VELOCIDADE/10
Essa parte do código faz com que,ao pressionar as teclas,a hspeed acrescente um décimo valor da varíavel VELOCIDADE,até q ela atinga o limite,e pare de aumentar ( ou diminuir ). Ou seja,conforme vc aperta a tecla,a velocidade dele vai aumentando,e com um limite,que impede que ele dê uma de Sonic e corra que nem um monstro...
Sabem o que é melhor dessa treta?? Seu player pode exceder este valor,caso toque numa mola ou algo parecido! Legal,não?
Pipolho: Felipe Sensei!! Fiz isso e o meu player não quer parar!!!
SIGI: Moleque chato... ainda não terminei!! XD
Bem,como esse mlk irritante disse,essa parte só faz com que ele ande...mas nao faz ele parar...então vamos explicar a outra parte do código:
Código: Selecionar todos
if keyboard_check(vk_right)=false and hspeed>0
{
hspeed-=VELOCIDADE/10
[...]
Quando os carinhas estiverem jogando seu jogo,o player estiver indo pra direita ( hspeed>0 ), e largarem a setinha pra direita,o q acontece? A velocidade do nosso player irá diminuir,na msm velocidade em que aumentou!
Mas claro...se ele só irá diminuir sua velocidade quando estiver com sua hspeed>0, pra que essa parte??
Código: Selecionar todos
[...]
if hspeed<0
hspeed=0
}
Pq a hspeed pode "sobrar".... por exemplo:
A hspeed do player é 0.3... está diminuindo em 0.5...
Então,pense: 0.3-0.5... quanto é,quanto é???
Pipolho: 0,ué.... 0 é o menor número do mundo!!
População mundial: O_o.........
A hspeed do player seria -0.2! Então pense a situação: nosso player tá andando,larquei a tecla de movimento... Ele foi parando,parando....e começou a andar sozinho pra trás!! MoonWalker!!! ( é assim q se escreve? )
Então...essa parte do código impede que isso aconteça!
Código: Selecionar todos
[...]
if hspeed<0
hspeed=0
}
Não se preocupe,isso não afeta o código de movimento pra esquerda!
Pipolho: Não entendi.... o_o
SIGI: Claro que não... apenas os inteligentes entendem....
Com isso,vc já pode começar a criar um movimento mais real para seus jogos.
Auterando o valor da variável VELOCIDADE,vc pode fazer com q seu player se comporte diferente em lugares diferentes,como ar livre,na água...criando uma outra variável separada, uma pra velocidade e outra para o limite de velocidade,tbm é possível fazer com q nosso player escorregue no gelo!
Pipolho: Que legal!! Bota o código aee!!!
SIGI: Hmm....nãoo...
Tendo esse código em mente,vc poderá criar sozinho este sistema. Eii,não me chame de miserável! É importante que vc tente desenvolver seus próprios códigos...
Bem,é isso...Encerro o tuto por aqui...
A vida é bela,curtam as suas! Não morram!! XD
SIGI: O que achou deste tuto,Pipolho?
Pipolho: MALDITO!! Meu player não escorrega no gelo!! Faz pra mim!!!
SIGI: ¬¬" ....