Avatar do usuário
Tutoriais & Aulas
Colaborador
Colaborador
Autor
Mensagens: 174
Registrado em: Qui Abr 28, 2016 11:37 am
Karma: 245

[GEN-PLAT] [ SIGI-TUTO ] ANDANDO!! MARCHE!!

Qui Abr 28, 2016 8:53 pm

Autor original: SIGILOSO




Pipolho: Veja!! Meu player tá andando!!!
SIGI: É? Achei que ele tivesse numa esteira... o_o
Pipolho: ...... vc é um homem mau..... :bravo:


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: .....:tonto:


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....


VELOCIDADE=4



Agora.... no STEP de nosso player...vamos digitar o código mágico da parada!! XD


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....


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:


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??


[...]
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!


[...]
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: ¬¬" ....
:afro:

Tags:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes