- Espio GT
- Mensagens : 95
Reputação : 0
Data de inscrição : 03/09/2011
Idade : 28
Localização : sandopolis
Movimentação com aceleração etc...
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):
No step(os codigos no step são para ser executado sempre!):
na colisão com o chão(marque solid no chão!):
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...
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...
- Shadic Hyper
- Mensagens : 174
Reputação : 1
Data de inscrição : 13/11/2011
Idade : 24
Localização : SGM Island, Shadic Sanctuary
Re: Movimentação com aceleração etc...
Ter 3 Jan - 23:32:08
Muito legal me ajudará bastante
- Sanic The Hedgehog
- Mensagens : 559
Reputação : 0
Data de inscrição : 11/06/2011
Idade : 22
Re: Movimentação com aceleração etc...
Ter 3 Jan - 23:51:00
Olá Espio,
Serei rápido para dizer, achei o tutorial...bom...mas deixe-o mais organizado, tudo bem?
Serei rápido para dizer, achei o tutorial...bom...mas deixe-o mais organizado, tudo bem?
- Espio GT
- Mensagens : 95
Reputação : 0
Data de inscrição : 03/09/2011
Idade : 28
Localização : sandopolis
Re: Movimentação com aceleração etc...
Qua 4 Jan - 19:24:58
Valeu galera!!Eu dei uma arrumada no tópico espero que tenha ficado mais detalhado e organizado
Permissões neste sub-fórum
Não podes responder a tópicos