[DUVIDA] Como utilizar o touch no Android em um jogo 2D
2 participantes
Página 1 de 1
[DUVIDA] Como utilizar o touch no Android em um jogo 2D
Fala galera, tudo bom?
Sou um usuário novato, tanto para este fórum, quanto para o desenvolvimento de jogos na Unity utilizando c#.
Abri vários tópicos de [Dúvida] sobre 'Touch', mas não achei algo do tipo, ou não entendi muito bem o funcionamento.
Peço desculpas caso fale algo grosseiramente errado, estou em processo de aprendizagem ainda .
Fiz um curso básico de C# com Unity, para desenvolvimento de jogos simples, e queria estou criando um jogo estilo BreakOut,
consegui implementar a movimentação da plataforma utilizando o mouse e o teclado, porém queria entender melhor como funciona
o touch do celular.
Consegui implementar este código.
-----------------------------------------------------------------------------------------------------------------------------------------------------
void MovimentacaoTouch()
{
velocidade = 0.1f;
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
// Obter movimento do dedo desde o último quadro
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
// Move o objeto em um plano XY
transform.Translate(touchDeltaPosition.x * velocidade, touchDeltaPosition.y * velocidade, 0);
http://transform.position = new Vector3(touchDeltaPosition.x * velocidade, transform.position.y, transform.position.z);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
porém não consegui o resultado esperado, queria que a plataforma tivesse seu movimento travado na horizontal e que a plataforma acompanha-se o touch na tela do celular. ("clicaria na tela e a plataforma iria diretamente para a coordenada X do touch na tela").
Tentei fixar uma constante na coordenada y, mas quando eu tento mover a plataforma com o touch na tela do celular a plataforma some,
quando fui verificar a coordenada y, ela estava com um valor absurdamente estranho, o valor esperado era o valor da constante ( -7,1 ) se não me engano, mas o valor obtido foi um valor estranho como por exemplo -69390, -44324342, etc...
Alguém poderia me ajudar?
02.11.2017
Sou um usuário novato, tanto para este fórum, quanto para o desenvolvimento de jogos na Unity utilizando c#.
Abri vários tópicos de [Dúvida] sobre 'Touch', mas não achei algo do tipo, ou não entendi muito bem o funcionamento.
Peço desculpas caso fale algo grosseiramente errado, estou em processo de aprendizagem ainda .
Fiz um curso básico de C# com Unity, para desenvolvimento de jogos simples, e queria estou criando um jogo estilo BreakOut,
consegui implementar a movimentação da plataforma utilizando o mouse e o teclado, porém queria entender melhor como funciona
o touch do celular.
Consegui implementar este código.
-----------------------------------------------------------------------------------------------------------------------------------------------------
void MovimentacaoTouch()
{
velocidade = 0.1f;
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved)
{
// Obter movimento do dedo desde o último quadro
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
// Move o objeto em um plano XY
transform.Translate(touchDeltaPosition.x * velocidade, touchDeltaPosition.y * velocidade, 0);
http://transform.position = new Vector3(touchDeltaPosition.x * velocidade, transform.position.y, transform.position.z);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------
porém não consegui o resultado esperado, queria que a plataforma tivesse seu movimento travado na horizontal e que a plataforma acompanha-se o touch na tela do celular. ("clicaria na tela e a plataforma iria diretamente para a coordenada X do touch na tela").
Tentei fixar uma constante na coordenada y, mas quando eu tento mover a plataforma com o touch na tela do celular a plataforma some,
quando fui verificar a coordenada y, ela estava com um valor absurdamente estranho, o valor esperado era o valor da constante ( -7,1 ) se não me engano, mas o valor obtido foi um valor estranho como por exemplo -69390, -44324342, etc...
Alguém poderia me ajudar?
02.11.2017
Rafael Kuriki- Iniciante
- PONTOS : 2858
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] Como utilizar o touch no Android em um jogo 2D
- Código:
public float velocidade = 0.1f;
void Update(){
MovimentacaoTouch ();
}
void MovimentacaoTouch(){
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved){
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.position = new Vector3(touchDeltaPosition.x, transform.position.y, transform.position.z);
}
}
Re: [DUVIDA] Como utilizar o touch no Android em um jogo 2D
Primeiramente, muito obrigado pela ajuda.MarcosSchultz escreveu:
- Código:
public float velocidade = 0.1f;
void Update(){
MovimentacaoTouch ();
}
void MovimentacaoTouch(){
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved){
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.position = new Vector3(touchDeltaPosition.x, transform.position.y, transform.position.z);
}
}
Mas então marcos, não sei por que mas quando testei essa função a posição realmente fica exatamente na horizontal,
o problema agora foi que o GameObject não acompanha o touch do meu dedo, de alguma forma sempre esta voltando
à posição em que foi iniciado...
Teria algum solução para o caso?
dei mais uma pesquisada e vi que é possivel pegar as coordenadas e transformalas para coordenadas do mundo
vou tentar resolve-lo com essa descoberta.
Assim que possivel lhe dou um report novamente.
Rafael Kuriki- Iniciante
- PONTOS : 2858
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] Como utilizar o touch no Android em um jogo 2D
Não obtive sucesso ao tentar pegar os pontos do mundo real...
Rafael Kuriki- Iniciante
- PONTOS : 2858
REPUTAÇÃO : 0
Respeito as regras :
Re: [DUVIDA] Como utilizar o touch no Android em um jogo 2D
Tente isto:
- Código:
void Update(){
MovimentacaoTouch ();
}
void MovimentacaoTouch(){
if (Input.touchCount > 0 && Input.GetTouch(0).phase == TouchPhase.Moved){
Vector2 touchDeltaPosition = Input.GetTouch(0).deltaPosition;
transform.position = new Vector3(transform.position.x + touchDeltaPosition.x, transform.position.y, transform.position.z);
}
}
Tópicos semelhantes
» DUVIDA !!! Criar botao touch para rodar o jogo no android
» [DUVIDA] Tiro com botao touch android!!
» [DÚVIDA] Sobre configurações de Touch para jogos Android
» Como simular a tecla "E" em um botão touch no android?
» Como pular somente com toque simples no touch Android
» [DUVIDA] Tiro com botao touch android!!
» [DÚVIDA] Sobre configurações de Touch para jogos Android
» Como simular a tecla "E" em um botão touch no android?
» Como pular somente com toque simples no touch Android
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos