Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
Problemas com movimento diagonal
Problemas com movimento diagonal
Não sei o que esta havendo com meus códigos de movimentação que todos que fiz estão andando normalmente nas diagonais superior esquerda e inferior direita, mas que não funcionam com as diagonais inferior esquerda e superior direita
Depois desse problema busquei por códigos prontos aqui do fórum pois pensei que estava fazendo algo errado e aconteceu a mesma coisa com eles também, no momento estou usando o script desse tutorial: https://tgmbrasil.com.br/viewtopic.php? ... a+s+d#p103
Vale lembrar que no próprio tutorial o autor mostra que para cancelar o movimento das diagonais é preciso declarar algumas variaveis da direção como falsas.
edit: não entendo muito de gml mas é possivel que tenha algo a ver com as direções que estão se cancelando terem valores positivos e negativos e se anularem?
Uso o GMS2
create:
// bussola
left=false
right=false
up=false
down=false
vel = 2
O código do step é o seguinte:
///////////
// ANDAR //
///////////
if keyboard_check(ord ("A")){left=true}
if keyboard_check(ord ("D¨")){right=true}
if keyboard_check(ord("W")){up=true}
if keyboard_check(ord ("S")){down=true}
if keyboard_check(ord ("A")) && left=true
{
repeat (vel)
{
if place_free(x-1,y){x-=1}
}
sprite_index=spr_player_movendo_esquerda
}
if ! keyboard_check(ord ("A")) && left=true {
sprite_index = spr_player_parado_esquerda
left=false
}
if keyboard_check(ord ("D")) && right=true
{
repeat(vel)
{
if place_free(x+1,y){x+=1}
}
sprite_index=spr_player_movendo_direita
}
if ! keyboard_check(ord ("D")) && right=true {
sprite_index=spr_player_parado_direita
right=false
}
if keyboard_check(ord ("W")) && up=true
{
repeat (vel)
{
if place_free(x,y-1){y-=1}
}
sprite_index=spr_player_movendo_cima
}
if ! keyboard_check(ord ("W")) && up=true {
sprite_index = spr_player_parado_cima
up=false
}
if keyboard_check(ord ("S")) && down=true
{
repeat(vel)
{
if place_free(x,y+1){y+=1}
}
sprite_index=spr_player_movendo_baixo
}
if ! keyboard_check(ord ("S")) && down=true {
sprite_index=spr_player_parado_baixo
down=false
}
Depois desse problema busquei por códigos prontos aqui do fórum pois pensei que estava fazendo algo errado e aconteceu a mesma coisa com eles também, no momento estou usando o script desse tutorial: https://tgmbrasil.com.br/viewtopic.php? ... a+s+d#p103
Vale lembrar que no próprio tutorial o autor mostra que para cancelar o movimento das diagonais é preciso declarar algumas variaveis da direção como falsas.
edit: não entendo muito de gml mas é possivel que tenha algo a ver com as direções que estão se cancelando terem valores positivos e negativos e se anularem?
Uso o GMS2
create:
// bussola
left=false
right=false
up=false
down=false
vel = 2
O código do step é o seguinte:
///////////
// ANDAR //
///////////
if keyboard_check(ord ("A")){left=true}
if keyboard_check(ord ("D¨")){right=true}
if keyboard_check(ord("W")){up=true}
if keyboard_check(ord ("S")){down=true}
if keyboard_check(ord ("A")) && left=true
{
repeat (vel)
{
if place_free(x-1,y){x-=1}
}
sprite_index=spr_player_movendo_esquerda
}
if ! keyboard_check(ord ("A")) && left=true {
sprite_index = spr_player_parado_esquerda
left=false
}
if keyboard_check(ord ("D")) && right=true
{
repeat(vel)
{
if place_free(x+1,y){x+=1}
}
sprite_index=spr_player_movendo_direita
}
if ! keyboard_check(ord ("D")) && right=true {
sprite_index=spr_player_parado_direita
right=false
}
if keyboard_check(ord ("W")) && up=true
{
repeat (vel)
{
if place_free(x,y-1){y-=1}
}
sprite_index=spr_player_movendo_cima
}
if ! keyboard_check(ord ("W")) && up=true {
sprite_index = spr_player_parado_cima
up=false
}
if keyboard_check(ord ("S")) && down=true
{
repeat(vel)
{
if place_free(x,y+1){y+=1}
}
sprite_index=spr_player_movendo_baixo
}
if ! keyboard_check(ord ("S")) && down=true {
sprite_index=spr_player_parado_baixo
down=false
}
42
Re: Problemas com movimento diagonal
Segue o link para meu curso
https://goo.gl/N7vWCz
Na seção de sistemas, as aulas de colisão top-down estão desbloqueadas e as de animação também.
Espero que ajude
https://goo.gl/N7vWCz
Na seção de sistemas, as aulas de colisão top-down estão desbloqueadas e as de animação também.
Espero que ajude
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Re: Problemas com movimento diagonal
Muito obrigado por disponibilizar os videos, consegui ver até o segundo vídeo de colisão
Ajudou muito
Ajudou muito
42
Re: Problemas com movimento diagonal
Se precisar de algum outro vídeo é só falar.
Aí eu libero ele, só tente me dar um período específico em que você vai ver
Aí eu libero ele, só tente me dar um período específico em que você vai ver
Tutorial de jogo de plataforma completo: https://youtu.be/MMUy_bMKqPk
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes