PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO FÍSICO
Página 1 de 1
PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO FÍSICO
Oi, pessoal, me ajudem por favor: conheço bem a Unity, 3Dmax, animações e modelagem entre outros, mas quando chega na parte de programação ai o negócio fica complicado e o raciocínio me sai do controle. O Problema: Modelei um personagem, fiz a animação no Max com Biped, levei para a Unity até ai tudo bem, A animação só possui dois estágios "anda" e "para" Usei o Animator Controller, ficou redondinho e funcionando no teclado físico com as teclas das setas ou W,S,A e D. Agora começa a dor de cabeça, preciso que isto funcione no Android, SEM PERDER A FUNCIONALIDADE DAS TECLAS, POIS JÁ EXITE UM SCRIPT QUE GERENCIA OS MOVIMENTOS REPRODUZIDOS PELA AÇÃO DO TECLADO. Gostaria apenas, que os botões TOUCH no Android reproduzissem ou simulassem o pressionar das tecla "W,S,A e D". Sei que cada tecla possui um código e a saída seria por ai, quando pressionasse o botão touch referente a tecla "W" por exemplo, seria como estivesse pressionando realmente a tecla "W" do teclado real. Gostaria que o abençoado me instruísse de como realizar esta façanha para mim de forma clara, pois como disse sou fraquinho em programação, até tentei associar algumas coisinhas aqui como por exemplo "EventSystem" , mas, nada deu certo. Muito Obrigado. Abaixo está o Script associado ao Player.
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
[RequireComponent(typeof(Animator))] //Obriga o componente do Animator
public class ControlePlayer : MonoBehaviour
{
private string turnInputAxis = "Horizontal";
private Animator anim; //Declarando o animator como uma variável
[Tooltip("Rate per seconds holding down input")]
public float rotationRate = 360; //Valor para velocidade da rotação do player
void Start()
{
anim = GetComponent<Animator>(); //Atribuindo o componente a variável na inicialização
}
void Update()
{
float turnAxis = Input.GetAxis(turnInputAxis);
ApplyInput(turnAxis);
float inputX = Input.GetAxis("Horizontal"); //Capturando os imputs do eixo Horizontal e atribuindo para a variável inputX
float inputY = Input.GetAxis("Vertical"); //Capturando os imputs do eixo Vertical e atribuindo para a variável inputY
anim.SetFloat("Horizontal", inputX); //Atribui o valor da variável inputX para o parâmetro Horizontal do controle de animação
anim.SetFloat("Vertical", inputY); //Atribui o valor da variável inputY para o parâmetro Vertical do controle de animação
//Correndo ou não
if (Input.GetKey(KeyCode.LeftShift))
{
anim.SetBool("Run", true); //Segurando o shift esquerdo a bool Run do controle de animação recebe true
}
else
{
anim.SetBool("Run", false); //Soltando o shift esquerdo a bool Run do controle de animação recebe false
}
}
void ApplyInput(float turnInput)
{
Turn(turnInput);
}
void Turn(float input)
{
transform.Rotate(0, input * rotationRate * Time.deltaTime, 0);
}
}
richardfalcos- Iniciante
- PONTOS : 2382
REPUTAÇÃO : -1
Respeito as regras :
Tópicos semelhantes
» PRESSIONAR BOTÃO TOUCH NO ANDROID SERÁ O MESMO QUE PRESSIONAR UMA TECLA DO TECLADO REAL
» Botão UI pressionar tecla do teclado?
» como fazer botão simular uma tecla do teclado para jogos android unity
» Como simular a tecla "E" em um botão touch no android?
» Camera tremer ao pressionar tecla
» Botão UI pressionar tecla do teclado?
» como fazer botão simular uma tecla do teclado para jogos android unity
» Como simular a tecla "E" em um botão touch no android?
» Camera tremer ao pressionar tecla
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos