trocar comando do teclado para touch
2 participantes
Página 1 de 1
trocar comando do teclado para touch
Fala Galera, tudo de boa?
então galera, to trabalhando em um infinity runner bem simples e to precisando de uma ajuda.
primeiramente o game era pra pc, fiz tudo com base em tutorial que vi pela net, e usei para comando dois toques básicos:
Ctrl ou click esquerdo do mouse para meu player pular e espaço ou click direito do mouse para ele deslizar...
O problema agora eh que eu queria usar isso ai no android, já vi um monte de tutorial pela internet mas não consegui ainda me ligar em como fazer essa troca!!
Só precisava colocar dois botoes na tela e não to conseguindo linkar a função do botão ao pulo ou slide!!
to frustado já !! hahaha
alguem manja de como eu poderia fazer isso?
então galera, to trabalhando em um infinity runner bem simples e to precisando de uma ajuda.
primeiramente o game era pra pc, fiz tudo com base em tutorial que vi pela net, e usei para comando dois toques básicos:
Ctrl ou click esquerdo do mouse para meu player pular e espaço ou click direito do mouse para ele deslizar...
O problema agora eh que eu queria usar isso ai no android, já vi um monte de tutorial pela internet mas não consegui ainda me ligar em como fazer essa troca!!
Só precisava colocar dois botoes na tela e não to conseguindo linkar a função do botão ao pulo ou slide!!
to frustado já !! hahaha
alguem manja de como eu poderia fazer isso?
neivson- Iniciante
- PONTOS : 2401
REPUTAÇÃO : 2
Respeito as regras :
Re: trocar comando do teclado para touch
Eu também tive esse problema e me surpreendi com o quão fácil é.
Certifique-se de que trocou o target para android nas opções de build, e que tenha instalado o CrossPlataformInput instalado junto com a unity, caso não tenha é so baixar
Depois disso é so criar os botões na sua canvas e trocar as funções no seu script para que possa ser acessado pelo click event ou triggers events.
ex: Troque isso
Por Isso
Então você se refere a este script pelo OnClick do botão, arrastando o objeto que contenha esse script para o campo de objeto e selecionando qualquer metodo publico dentro da caixa
Alguns Tutoriais
https://www.youtube.com/watch?v=3htddI8BNwQ
Certifique-se de que trocou o target para android nas opções de build, e que tenha instalado o CrossPlataformInput instalado junto com a unity, caso não tenha é so baixar
Depois disso é so criar os botões na sua canvas e trocar as funções no seu script para que possa ser acessado pelo click event ou triggers events.
ex: Troque isso
- Código:
public class JGestorDeInventario : MonoBehaviour {
public KeyCode botaoDeFazerAlgo;
void Update(){
if(Input.GetKeyDown(botaoDeFazerAlgo)){
Debug.Log("Apertou O Botão");
}
}
}
Por Isso
- Código:
public class JGestorDeInventario : MonoBehaviour {
Public void Apertar Touch(){
Debug.Log("Apertou o Botão")
}
}
Então você se refere a este script pelo OnClick do botão, arrastando o objeto que contenha esse script para o campo de objeto e selecionando qualquer metodo publico dentro da caixa
Alguns Tutoriais
https://www.youtube.com/watch?v=3htddI8BNwQ
Fluttershy28- Avançado
- PONTOS : 2752
REPUTAÇÃO : 52
Idade : 27
Áreas de atuação : Modelagem, Animação, Texturização, Design
Respeito as regras :
Re: trocar comando do teclado para touch
Vlw Flutter, vou correndo tentar ver isso!! já tinha visto algumas pessoas se referindo ao crossplatforminput como um Asset pra gente baixar na store da unity, procurei la varias vezes e não achei, so achava nome parecido de asset pago. Não sabia que já vinha instalado (pelo menos acho que o meu já deve ter vindo pq instalei tudo que tinha direito rs!!Fluttershy28 escreveu:Eu também tive esse problema e me surpreendi com o quão fácil é.
Certifique-se de que trocou o target para android nas opções de build, e que tenha instalado o CrossPlataformInput instalado junto com a unity, caso não tenha é so baixar
Depois disso é so criar os botões na sua canvas e trocar as funções no seu script para que possa ser acessado pelo click event ou triggers events.
ex: Troque isso
- Código:
public class JGestorDeInventario : MonoBehaviour {
public KeyCode botaoDeFazerAlgo;
void Update(){
if(Input.GetKeyDown(botaoDeFazerAlgo)){
Debug.Log("Apertou O Botão");
}
}
}
Por Isso
- Código:
public class JGestorDeInventario : MonoBehaviour {
Public void Apertar Touch(){
Debug.Log("Apertou o Botão")
}
}
Então você se refere a este script pelo OnClick do botão, arrastando o objeto que contenha esse script para o campo de objeto e selecionando qualquer metodo publico dentro da caixa
Alguns Tutoriais
logo, logo, volto com um feedback!!
neivson- Iniciante
- PONTOS : 2401
REPUTAÇÃO : 2
Respeito as regras :
Re: trocar comando do teclado para touch
O jeito de saber se tem ou não é só trocar o target para mobile, se não tiver ele não vai chegar nem a mudar. acho que ele vem com o standard asstes, caso voce o tenha, basta clicar na aba Assets/ Import Package / CrossPlataformInput
Fluttershy28- Avançado
- PONTOS : 2752
REPUTAÇÃO : 52
Idade : 27
Áreas de atuação : Modelagem, Animação, Texturização, Design
Respeito as regras :
Re: trocar comando do teclado para touch
Cara esse metodo de adicionar a funcao ao bota desse jeito foi ultil demais, consegui usar ele de boa para as transações das scenes, tipo assim
mas já para a os botoes de pulo e slide não consegui fazer funcionar
não cheguei a usar no topo o public KeyCode para um determinado botão por que fiz isso la pelo edit -> project settings -> input
ai qnd usei o if(input.GetButtonDown ("fazer algo")) atribui algumas variáveis a serem obedecidas, logo qnd tentei adicionar a função ao botão como o Flutter indicou eu não soube como arrumar as outras funções!
meu script pra essa parte ficou tipo assim...
Será que teria outra forma de eu mudar esse input sem precisar mexer muito ai? não manjo muito bem de programação, mas pensei se seria possível fazer um outro comando dizendo que o Input.GetButtonDown ("Jump") seja a mesma coisa (igual) que o pressionar do botão da tela por exemplo?
tipo Input.GetButtonDown ("Jump") == public void ()...
tentei dessa forma mais não consegui...
alguma ideia?
- Código:
public void GoToGame()
{
SceneManager.LoadScene ("Player");
}
mas já para a os botoes de pulo e slide não consegui fazer funcionar
não cheguei a usar no topo o public KeyCode para um determinado botão por que fiz isso la pelo edit -> project settings -> input
ai qnd usei o if(input.GetButtonDown ("fazer algo")) atribui algumas variáveis a serem obedecidas, logo qnd tentei adicionar a função ao botão como o Flutter indicou eu não soube como arrumar as outras funções!
meu script pra essa parte ficou tipo assim...
- Código:
// se apertei o botão, então...
if (Input.GetButtonDown ("Jump") && grounded == true){
Audio.PlayOneShot (soundJump);
playerRigidbody.AddForce (new Vector2 (0, forceJump));
if (slide == true)
{
Colisor.position = new Vector3 (Colisor.position.x, Colisor.position.y + 0.9f, Colisor.position.z);
slide = false;
}
}
else if (Input.GetButtonDown ("Slide") && grounded == true && slide == false) {
Audio.PlayOneShot (soundSlide);
Colisor.position = new Vector3 (Colisor.position.x, Colisor.position.y - 0.9f, Colisor.position.z);
slide = true;
timeTemp = 0;
}
Será que teria outra forma de eu mudar esse input sem precisar mexer muito ai? não manjo muito bem de programação, mas pensei se seria possível fazer um outro comando dizendo que o Input.GetButtonDown ("Jump") seja a mesma coisa (igual) que o pressionar do botão da tela por exemplo?
tipo Input.GetButtonDown ("Jump") == public void ()...
tentei dessa forma mais não consegui...
alguma ideia?
neivson- Iniciante
- PONTOS : 2401
REPUTAÇÃO : 2
Respeito as regras :
Re: trocar comando do teclado para touch
Aeee consegui solucionar!
Usando o asset ai do CrossPlatfromInputManager ficou facilimo!!
pra quem experienciar o mesmo problema, a solução eh muito fácil!!
Nesse caso diferente da que Flutter ensinou ai em cima...
eu fiz o seguinte:
adicionei a biblioteca no meu script do player la em cima onde fica as bibliotecas
e no meu script onde tinha por exemplo Input.GetButtonDown ("Jump")
troquei por CrossPlatformInputManager.GetButtonDown ("Jump")
e na pasta do proprio asset, vc encontra na pasta prefab o MobileSingleStickControl
só vc arrastar ele pra scene que vc quer que já vai ser adicionado o botão!!
Obrigado Flutter pela ajuda, senão fosse por tu nem iria saber desse asset!!
Usando o asset ai do CrossPlatfromInputManager ficou facilimo!!
pra quem experienciar o mesmo problema, a solução eh muito fácil!!
Nesse caso diferente da que Flutter ensinou ai em cima...
eu fiz o seguinte:
adicionei a biblioteca no meu script do player la em cima onde fica as bibliotecas
- Código:
using UnityStandardAssets.CrossPlatformInput;
e no meu script onde tinha por exemplo Input.GetButtonDown ("Jump")
troquei por CrossPlatformInputManager.GetButtonDown ("Jump")
e na pasta do proprio asset, vc encontra na pasta prefab o MobileSingleStickControl
só vc arrastar ele pra scene que vc quer que já vai ser adicionado o botão!!
Obrigado Flutter pela ajuda, senão fosse por tu nem iria saber desse asset!!
neivson- Iniciante
- PONTOS : 2401
REPUTAÇÃO : 2
Respeito as regras :
Re: trocar comando do teclado para touch
Se você estiver usando o FirstPersonControler do standard assets, nem precisava mexer nada nos scripts, só jogar o analógico dentro do canvas que já funciona. Da ate para misturar prefabs, no meu caso eu uso um single joystick e o botão de pulo, com o touchlook, muito fácil mesmo
Fluttershy28- Avançado
- PONTOS : 2752
REPUTAÇÃO : 52
Idade : 27
Áreas de atuação : Modelagem, Animação, Texturização, Design
Respeito as regras :
Tópicos semelhantes
» [ AJUDA ] TOUCH PARA MOVER PERSONAGEM PARA TODOS OS LADOS USANDO BOTÕES
» [DUVIDA] Trocar botoes no teclado por joystick UI
» Para que serve o comando RequireComponent?
» PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO FÍSICO
» PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO REAL
» [DUVIDA] Trocar botoes no teclado por joystick UI
» Para que serve o comando RequireComponent?
» PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO FÍSICO
» PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO REAL
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos