Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Mensagens : 95
Reputação : 0
Data de inscrição : 03/09/2011
Idade : 21
Masculino
Localização : sandopolis
Ver perfil do usuário

Movimentação com aceleração etc...

em Ter 3 Jan - 17:24:12
Após um bom tempo aprendendo com o pessoal do fórum agora vou tentar ensinar com meu 1º tutorial que vai ensinar os movimentos com aceleração,desaceleração e usar
uma única sprite que vai ser o explorador que vem nos sprites do GM pegue a sua sprite andando para direita(explorer_right_strip8) e faça o sprite do chão

vspeed e hspeed
então vamos começar mas primeiro é importante saber que hspeed=1 significa velocidade horizontal se negativa para esquerda se positiva para direita na velocidade que você por neste caso =1
e quando for vspeed=-1 significa velocidade vertical se negativa para cima se positiva para baixo na velocidade que você por neste caso =-1 e sempre que o sinal de mais ou menos for posto antes do sinal de igual quer dizer que o valor vai ser acrescentado ou subtraido do valor atual por exemplo:
if hspeed=3
hspeed+=2 então vira hspeed=5.

if e else
e sempre que virem if significa sempre que e o else significa senão veja o exemplo:
if hspeed>3//sempre que hspeed for maior que 3 executi o que tiver entre {}
{hspeed+=2}//acrecente + 2 na hspeed
else//caso hspeed não seja 3 executi o que tiver entre {}
{hspeed+=1}//então acrecente apenas 1

friction
e por fim o código friction funciona como se fosse hspeed-=1 sempre reduzindo a velocidade

no create do player coloque(os codigos no create são para quando o objeto for criado):
Spoiler:

dir=1 //esta variavel vai checar se o player esta virado para esquerda(-1) ou para direita(1)

No step(os codigos no step são para ser executado sempre!):
Spoiler:

//Gravidade
gravity = 0.7//...gravidade igual a 0.7

//Direita
if keyboard_check(vk_right)and not keyboard_check(vk_left)//checa se foi apertado para direita e não para esquerda
{
if place_free(x+1,y)//se tiver livre de colisões para direita(1 pixel )
hspeed+=0.8//acrecentar 0.8 a hspeed(velocidade horizontal)
dir=1//Esta virado para direita
}

//Esquerda
if keyboard_check(vk_left)and not keyboard_check(vk_right)//checa se foi apertado para esquerda e não para direita
{
if place_free(x-1,y)//se tiver livre de colisões para esquerda(1 pixel )
hspeed-=0.8//subtrai 0.8 a hspeed
dir=-1 //Esta virado para esquerda
}

//Pular
if keyboard_check_pressed(vk_up){//se apertar para cima
if not place_free(x,y+1){//sempre que não aver 1 pixel livre abaixo(estiver no chão)
vspeed=-8//velocidade vertical=-8 lembrando que sempre que vspeed for positiva é para baixo se negativa é para cima
hspeed/=2//reduz a hspeed ao meio
}
}
if keyboard_check_released(vk_up)and vspeed <= 0{//Se parar de precionar a tecla cima...
vspeed/=3//reduz a vspeed ao meio
}

//parado
if keyboard_check(vk_nokey)//se não estiver apertando algum botão
{image_index=0//volta o sprite ao 1º quadro
if hspeed>1 or hspeed<-1//se hspeed for maior que 1 ou menor que -1
friction=0.25}//desaceleração=0.25"todos esses codigos juntos serve para que o player va parando quando para de andar se parar de apertar derrepente"
else//senão
{friction=0}//sem desaceleração

//sprite
if dir=1//sempre que estiver virado a direita
image_xscale=1//inverte o sprite para direita
else//senão
image_xscale=-1//inverte o sprite para esquerda

if hspeed > 7//se hspeed for maior que 7
{hspeed=7}//hspeed se torna =7
if hspeed < -7//se hspeed for menor que -7
{hspeed=-7}//hspeed se torna =-7(impede o player de ir muito rápido)

na colisão com o chão(marque solid no chão!):
Spoiler:

vspeed = 0//parar de se mover verticalmente

eu testei na versão 8.1 lite mas tambem deve funcionar em outras versões
qualquer bug me avise!!Espere que gostem e se tudo der certo eu faço mais um tutorial avançando mais um pouco com inimigos etc...




Última edição por Espio GT em Qua 4 Jan - 19:43:22, editado 3 vez(es)

______________________________________________________________________________________________


Knonick Friend
meu amigo?coloque Isso na sua assinatura:
avatar
Mensagens : 2678
Reputação : 18
Data de inscrição : 06/06/2011
Idade : 18
Masculino
Localização : Casa
Ver perfil do usuáriohttp://sonicmaker.forumeiros.com

Re: Movimentação com aceleração etc...

em Ter 3 Jan - 17:55:37
ganha mar 10 rings
avatar
Mensagens : 174
Reputação : 1
Data de inscrição : 13/11/2011
Idade : 18
Masculino
Localização : SGM Island, Shadic Sanctuary
Ver perfil do usuário

Re: Movimentação com aceleração etc...

em Ter 3 Jan - 23:32:08
Muito legal me ajudará bastante

______________________________________________________________________________________________
Meus amigos
Spoiler:




Nunca vai me trollar Kyson, nunca!

Aprenda com os seus erros, pois eles lhe ensinam muito
avatar
Mensagens : 558
Reputação : 0
Data de inscrição : 11/06/2011
Idade : 16
Masculino
Ver perfil do usuário

Re: Movimentação com aceleração etc...

em Ter 3 Jan - 23:51:00
Olá Espio,
Serei rápido para dizer, achei o tutorial...bom...mas deixe-o mais organizado, tudo bem?

______________________________________________________________________________________________
*Assinatura em breve
Aguarde...
avatar
Mensagens : 95
Reputação : 0
Data de inscrição : 03/09/2011
Idade : 21
Masculino
Localização : sandopolis
Ver perfil do usuário

Re: Movimentação com aceleração etc...

em Qua 4 Jan - 19:24:58
Valeu galera!!Eu dei uma arrumada no tópico espero que tenha ficado mais detalhado e organizado

______________________________________________________________________________________________


Knonick Friend
meu amigo?coloque Isso na sua assinatura:
Conteúdo patrocinado

Re: Movimentação com aceleração etc...

Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum