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. |
movimento por tocar e arrastar no Android
movimento por tocar e arrastar no Android
Olá, primeiramente eu quero pedir desculpa caso ja tenha algum topico sobre isso, talvez eu esteja usando as palavras chaves erradas pq não encontrei.
Eu gostaria de saber como criar comandos por toque-arraste no android.
Ex: arrastar o dedo na tela na vertical de cima para baixo faz o personagem andar para baixo ( até que seja parado por colisão, o que não vem ao caso)
só preciso reconhecer 4 direções de movimento para um puzzle que pretendo fazer
Eu gostaria de saber como criar comandos por toque-arraste no android.
Ex: arrastar o dedo na tela na vertical de cima para baixo faz o personagem andar para baixo ( até que seja parado por colisão, o que não vem ao caso)
só preciso reconhecer 4 direções de movimento para um puzzle que pretendo fazer
Re: movimento por tocar e arrastar no Android
Neste Fórum são pouquíssimas pessoas que mechem realmente com Android então eu recomendo a você ver as Vídeo Aulas de Gringos pois eles são bem mais experientes no assunto, vou listar alguns vídeos gringos que falam a respeito do Movimento pelo Android
Shaun Spalding: https://www.youtube.com/watch?v=AfJNtaG8NRA
EscueladeVideoJuegos: https://www.youtube.com/playlist?list=P ... 3MkIwM6zkU
ColloseusX: https://www.youtube.com/watch?v=3RXsvUy ... sgeA7HPbdX
ESPERO TER AJUDADO!
Shaun Spalding: https://www.youtube.com/watch?v=AfJNtaG8NRA
EscueladeVideoJuegos: https://www.youtube.com/playlist?list=P ... 3MkIwM6zkU
ColloseusX: https://www.youtube.com/watch?v=3RXsvUy ... sgeA7HPbdX
ESPERO TER AJUDADO!
Re: movimento por tocar e arrastar no Android
Olá Sr. Zero!
O que você precisa é de um sistema de Swipe. Basicamente, um swipe consiste em pegar a posição x/y do toque inicial e comparar com a posição x/y do momento em que você deixa de tocar a tela. Com essas duas coordenadas, você consegue pegar o ângulo que ela forma, e então, identificar para qual direção o jogador fez o swipe.
Antes da migração, existia um tutorial meu por aqui que acabei de ficar de repostar. MAS, pra sua sorte, eu tenho ele salvo e vou disponibilizar um lindo PDF pra você baixar.
O que você precisa é de um sistema de Swipe. Basicamente, um swipe consiste em pegar a posição x/y do toque inicial e comparar com a posição x/y do momento em que você deixa de tocar a tela. Com essas duas coordenadas, você consegue pegar o ângulo que ela forma, e então, identificar para qual direção o jogador fez o swipe.
Antes da migração, existia um tutorial meu por aqui que acabei de ficar de repostar. MAS, pra sua sorte, eu tenho ele salvo e vou disponibilizar um lindo PDF pra você baixar.
Re: movimento por tocar e arrastar no Android
Willy, você também teria um PDF para detectar o toque do jogador na tela do celular ??Willy escreveu:Olá Sr. Zero!
O que você precisa é de um sistema de Swipe. Basicamente, um swipe consiste em pegar a posição x/y do toque inicial e comparar com a posição x/y do momento em que você deixa de tocar a tela. Com essas duas coordenadas, você consegue pegar o ângulo que ela forma, e então, identificar para qual direção o jogador fez o swipe.
Antes da migração, existia um tutorial meu por aqui que acabei de ficar de repostar. MAS, pra sua sorte, eu tenho ele salvo e vou disponibilizar um lindo PDF pra você baixar.
- Rodrigo Santiago
- Colaborador
- Reações: 0
- Mensagens: 273
-
Re: movimento por tocar e arrastar no Android
TootyDev, no GameMaker para android, o mouse e todos os eventos relacionados (click, press,releases etc) são convertidos para touch. Pra fazer um swipe vc pode fazer o seguinte :
Create
Quando o Mouse (touch) pressionar(pressed)
Quando o Mouse (touch) soltar(released)
Create
Código: Selecionar todos
swipe_x = -1;
swipe_y = -1;
Código: Selecionar todos
swipe_x = mouse_x;
swipe_y = mouse_y;
Código: Selecionar todos
//Vc tem que ter um pouco de erro, ja que e praticamente impossível vc fazer um movimento perfeito com o dedo
//Então vamos por distancia 64 pixels, e de cima pra baixo a direção deve ser 270º, mas vamos por uma margem de erro de 20º
var dist = point_distance(swipe_x, swipe_y, mouse_x, mouse_y);
var dir = point_direction(swipe_x, swipe_y, mouse_x, mouse_y);
if (dist > 64) {
if (dir > 270 - 20 && dir < 270 + 20) {
//De cima para baixo
} else if (dir > 90 - 20 && dir < 90 + 20) {
//De baixo para cima
} else if (dir > 360 - 20 && dir < 0 + 20) { // 0º e 360º olha um transferidor e vc vai entender
//Da esquerda pra direita
} else if (dir > 180 - 20 && dir < 180 + 20) {
//Da direita para esquerda
}
}
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante