SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Quero saber se tem na unity alguma funçao  que seja um trigger?
Como programar um sistema para fazer o Player puxar um objetos no Unity
Inimigo segue o player mesmo morto!!!
CommandInvokationFailure: Gradle build failed.
Chamar objeto em jogo em um modelo prefab
Movimento de BoxCollider com RigidBody
'Smooth Move'!?
DAR AÇÃO A UM BOTÃO
LWRP Mobile
[RESOLVIDO] Problema no mesh collider após exportar para Desktop
Formação de Equipe
Adicionar um botão!!
Site de animações
Bee. Uma linguagem sendo desenvolvida que vai livrar das suas preocupações.
TurboSquid e licenças Free Royalty
ALGUEM DE PORTO ALEGRE OU ELDORADO DO SUL?
Sistema de Nota Personalizada
Como deixar o projeto mais leve Unity
clicar com o botão direito do mouse em um BOTÃO
Como eu faço pra quando o tempo chegar em 14 segundos ele fazer algo
Jogo - Conexão com Servidor
Problema com Global Ilumination Unity 2019
[TUTORIAL] Unity 5 - Como criar o próprio FPS Controller
Como coloco interações num objeto de um jogo da Unity 4?
[PHOTON] instanciando 2 players(repetidos) na cena.
Existe outras formas de multiplayer sem ser pelo Photon ou Unet?
GetComponet em Array
Script pesado
A escala do objeto importa ?
Erro: all compiler errors have to be fixed before you can enter play mode
Erro ?
Animação de arma
[TUTORIAL] Script de arma completo! [FREE]
ERRO: O nome de tipo ou namespace "UI" não existe no namespace "UnityEngine"
Skill não se move com o Jogador!!
Amoeba / Gosma - Unity
Player sobreviver desde as 00h ás 04:00
[RESOLVIDO] Publicar no PlayStore um app de Realidade Aumentada
Script de Tempo
[RESOLVIDO] Problema ao arrastar imagens, músicas ou modelos 3D para a UNITY
alguem sabe como atualizar o c#
Como fazer um chão quebrar ao passar por cima no Unity 3D
como fazer um objeto seguir o player 2D
Jogo de Galo e de Galinha também
[TUTORIAL] Controle 3ª pessoa com animações mecânicas (root motion)
Alquem pode me explicar como funciona essa funçao
Como fazer o botão de tiro com touch nao com tecla
Como mover um objeto sem usar collider ou rigidbody?
[RESOLVIDO] Audio Stop e PlayOneShot
Como adicionar códigos nativos de 64 bits em um app Android? 64 bits do Google Play
[RESOLVIDO] Não posso chamar uma matriz por outra?
[RESOLVIDO] Colisão
Mesh bugada no Android
Rotação animação
[RESOLVIDO] Sombras pixeladas (Android)
Como posso fazer pra atirar onde o cursor do mouse está (UNITY 2D)
[DIVULGAÇÃO] Venha aprender C# jogando!
[RESOLVIDO] Erro com "Instantiate"
Migração de Projetos no Unity
Unity: Como otimizar automaticamente o app para o GooglePlay
as sombras da minha sena esta sendo renderizadas longe de aonde deveria começar
Cena para fim do jogo
Podcast de desenvolvedores de jogos
Alguem cria jogos pagos para PLAY STORE?
[DUVIDA] Problema para "spawnar" os players no PhotonNetwork
[RESOLVIDO] Rotacionar modelo ou eixo de orientaçao (iniciante)
Animaçoes
Entou com duvida com on trigger Enter e Exit - UNITY
Script de player - camera bugada - Photon
Alguém que mexa com otimização mobile? Trabalho Remunerado!
Como mudar o prefab do jogador usando unet
Unity Sem DropDown
Demonstração do meu primeiro jogo de terror.
Importa e aplicar animações com root motion
Alterar Variável em conexão de rede
[TUTORIAL] Serialização - JSON
Unity Terrain - Como deixar uma área plana?
Controles mobile 2d game Kit
Projeto Travando Demais
GAME ONLINE UNITY
Novo Projeto - Home Scared
Loja Virtual e moedas.
Oque tem de errado nesse skript ele nao esta voltando a ficar off
Como criar assinatura mensal em jogo na play console
Projétil para arma
[TUTORIAL] Mover objetos 2D e conectar em lugares específicos
[RESOLVIDO] Luz Atravessa Parede
Travando na exportação para Unity
ajuda first person mobile!!
Tento iniciar o unity mas a area de criação não carrega .
Pegar nome objeto clicado
Sistema de coordenadas
Inimigo pular por obstáculos
Erro na execução do jogo
Duvida anuncios da admob
HDRP Unity 2019.3 - Cena escura
Projeto Nervous, formação da equipe
[RESOLVIDO] Salvar Nível de jogo!!
Travar movimento pra frente
Ontem à(s) 8:56 pm
Ontem à(s) 7:20 pm
Ontem à(s) 6:10 pm
Ontem à(s) 5:14 pm
Ontem à(s) 4:51 pm
Ontem à(s) 3:19 pm
Ontem à(s) 12:48 pm
Ontem à(s) 8:47 am
Qua Fev 19, 2020 8:53 pm
Qua Fev 19, 2020 8:13 pm
Qua Fev 19, 2020 7:25 pm
Qua Fev 19, 2020 6:49 pm
Qua Fev 19, 2020 3:51 pm
Qua Fev 19, 2020 2:19 pm
Qua Fev 19, 2020 1:04 am
Ter Fev 18, 2020 11:22 pm
Ter Fev 18, 2020 10:28 pm
Ter Fev 18, 2020 10:10 pm
Ter Fev 18, 2020 5:28 pm
Ter Fev 18, 2020 9:51 am
Seg Fev 17, 2020 11:46 pm
Seg Fev 17, 2020 10:43 pm
Seg Fev 17, 2020 3:28 pm
Seg Fev 17, 2020 3:19 pm
Seg Fev 17, 2020 2:55 pm
Seg Fev 17, 2020 1:07 pm
Seg Fev 17, 2020 11:00 am
Seg Fev 17, 2020 9:54 am
Seg Fev 17, 2020 9:02 am
Seg Fev 17, 2020 4:50 am
Seg Fev 17, 2020 12:12 am
Dom Fev 16, 2020 4:29 pm
Dom Fev 16, 2020 12:42 pm
Dom Fev 16, 2020 3:50 am
Sab Fev 15, 2020 7:28 pm
Sab Fev 15, 2020 3:19 pm
Sab Fev 15, 2020 10:36 am
Sab Fev 15, 2020 12:29 am
Sex Fev 14, 2020 7:41 pm
Sex Fev 14, 2020 4:59 pm
Sex Fev 14, 2020 2:19 pm
Qui Fev 13, 2020 2:25 pm
Qua Fev 12, 2020 11:17 am
Ter Fev 11, 2020 7:26 am
Ter Fev 11, 2020 1:07 am
Ter Fev 11, 2020 1:03 am
Seg Fev 10, 2020 10:30 pm
Seg Fev 10, 2020 8:57 pm
Seg Fev 10, 2020 8:32 pm
Seg Fev 10, 2020 4:46 pm
Seg Fev 10, 2020 4:38 pm
Seg Fev 10, 2020 4:15 pm
Dom Fev 09, 2020 8:24 pm
Dom Fev 09, 2020 6:32 pm
Dom Fev 09, 2020 6:27 pm
Dom Fev 09, 2020 6:22 pm
Dom Fev 09, 2020 6:17 pm
Dom Fev 09, 2020 5:55 pm
Dom Fev 09, 2020 3:24 pm
Dom Fev 09, 2020 2:18 pm
Dom Fev 09, 2020 2:11 pm
Dom Fev 09, 2020 11:22 am
Sab Fev 08, 2020 2:40 pm
Sab Fev 08, 2020 1:03 pm
Sab Fev 08, 2020 12:10 pm
Sab Fev 08, 2020 11:40 am
Sab Fev 08, 2020 11:18 am
Sab Fev 08, 2020 4:46 am
Sex Fev 07, 2020 10:22 pm
Sex Fev 07, 2020 9:47 pm
Sex Fev 07, 2020 2:10 pm
Qui Fev 06, 2020 10:35 pm
Qui Fev 06, 2020 10:06 pm
Qui Fev 06, 2020 9:44 pm
Qui Fev 06, 2020 2:23 pm
Qui Fev 06, 2020 2:01 pm
Qui Fev 06, 2020 12:51 pm
Qui Fev 06, 2020 10:36 am
Qui Fev 06, 2020 1:19 am
Qua Fev 05, 2020 10:26 pm
Qua Fev 05, 2020 10:13 pm
Qua Fev 05, 2020 10:03 pm
Qua Fev 05, 2020 10:02 pm
Qua Fev 05, 2020 10:01 pm
Qua Fev 05, 2020 9:09 pm
Qua Fev 05, 2020 7:48 pm
Qua Fev 05, 2020 10:10 am
Qua Fev 05, 2020 10:03 am
Qua Fev 05, 2020 12:37 am
Qua Fev 05, 2020 12:04 am
Ter Fev 04, 2020 7:36 pm
Ter Fev 04, 2020 3:14 pm
Ter Fev 04, 2020 1:33 pm
Seg Fev 03, 2020 2:18 pm
Seg Fev 03, 2020 9:06 am
Dom Fev 02, 2020 11:42 pm
Dom Fev 02, 2020 9:56 pm
Dom Fev 02, 2020 8:53 pm
Dom Fev 02, 2020 7:58 pm
1234a
Samuquis
Edivandro2706
cultzone
Batataaaa
BlesseD
speedluk
samuelpaulino
GramadoOrc
guimaraf
Sshisbachza
BlesseD
Edivandro2706
mafipt
Gabriel M
frozen
BlesseD
lesgoy
Batataaaa
ygor18
danielPedra90
Fagner
pipipipo
pipipipo
daniel123163
artplayer
Batataaaa
Fagner
FelixTedesco
Fabio424
RafaelSquid1
Edivandro2706
Edu4rdogx
juansup
Nalfam
Fagner
SherDown
joffersoju
joffersoju
MarcosSchultz
diegopds
Daniel Dória
palestinus
dstaroski
pedroorf
ffabim
estuartyy
diegopds
BlesseD
iToddy
Snickers1020
maxwarnava
Duarte
MayLeone
MRX
MayLeone
poyser
BlesseD
Fagner
lesgoy
lesgoy
Nightos
hendrick22
lesgoy
daniel123163
HEINZ4K
hendrick22
Felipe42
juansup
mama2401
juansup
LúcioHenrique098
lauderson
hendrick22
SergioDB
paulocezarphp
Edu4rdogx
robsonguerrero
ffabim
fecirineu
fecirineu
fecirineu
Felipe42
fecirineu
speedluk
Batataaaa
guimaraf
Edivandro2706
Fagner
Fagner
FortunoKiller
juansup
JohnRambo
Antônio T
poyser
lesgoy
Sherlock
poyser
speedluk

[RESOLVIDO] Trocar controles de keyboard para gui

Ir em baixo

Resolvido [RESOLVIDO] Trocar controles de keyboard para gui

Mensagem por otavio00augusto em Sex Abr 20, 2018 4:49 pm

Eu tenho 3 scrips que servem como controle para um helicóptero funcionar, o problema, é que eu mudei o projeto de pc para android, e preciso transferir esses controles de teclado para gui, mas eu não consigo fazer isso, e nem sei se é possível.
Tentei também, simular o aperto de uma tecla no teclado ao apertar no gui, mas o unity não permite isso.
De qualquer forma, alguém pode me dar alguma ideia de como fazer isso? 

Esse aqui é o principal.
Ele tá grande mas é só no final que tem a parte útil, coloquei inteiro só pra se alguém precisar de usar, ou ter uma base.
Código:
using UnityEngine;
using UnityEngine.UI;

public class HelicopterController : MonoBehaviour
{
    public AudioSource HelicopterSound;
    public ControlPanel ControlPanel;
    public Rigidbody HelicopterModel;
    public HeliRotorController MainRotorController;
    public HeliRotorController SubRotorController;

    public float TurnForce = 3f;
    public float ForwardForce = 10f;
    public float ForwardTiltForce = 20f;
    public float TurnTiltForce = 30f;
    public float EffectiveHeight = 100f;

    public float turnTiltForcePercent = 1.5f;
    public float turnForcePercent = 1.3f;

    private float _engineForce;
    public float EngineForce
    {
        get { return _engineForce; }
        set
        {
            MainRotorController.RotarSpeed = value * 80;
            SubRotorController.RotarSpeed = value * 40;
            HelicopterSound.pitch = Mathf.Clamp(value / 40, 0, 1.2f);
            if (UIGameController.runtime.EngineForceView != null)
                UIGameController.runtime.EngineForceView.text = string.Format("Engine value [ {0} ] ", (int)value);

            _engineForce = value;
        }
    }

    private Vector2 hMove = Vector2.zero;
    private Vector2 hTilt = Vector2.zero;
    private float hTurn = 0f;
    public bool IsOnGround = true;

    // Use this for initialization
 void Start ()
 {
        ControlPanel.KeyPressed += OnKeyPressed;
 }

 void Update () {
 }
  
    void FixedUpdate()
    {
        LiftProcess();
        MoveProcess();
        TiltProcess();
    }

    private void MoveProcess()
    {
        var turn = TurnForce * Mathf.Lerp(hMove.x, hMove.x * (turnTiltForcePercent - Mathf.Abs(hMove.y)), Mathf.Max(0f, hMove.y));
        hTurn = Mathf.Lerp(hTurn, turn, Time.fixedDeltaTime * TurnForce);
        HelicopterModel.AddRelativeTorque(0f, hTurn * HelicopterModel.mass, 0f);
        HelicopterModel.AddRelativeForce(Vector3.forward * Mathf.Max(0f, hMove.y * ForwardForce * HelicopterModel.mass));
    }

    private void LiftProcess()
    {
        var upForce = 1 - Mathf.Clamp(HelicopterModel.transform.position.y / EffectiveHeight, 0, 1);
        upForce = Mathf.Lerp(0f, EngineForce, upForce) * HelicopterModel.mass;
        HelicopterModel.AddRelativeForce(Vector3.up * upForce);
    }

    private void TiltProcess()
    {
        hTilt.x = Mathf.Lerp(hTilt.x, hMove.x * TurnTiltForce, Time.deltaTime);
        hTilt.y = Mathf.Lerp(hTilt.y, hMove.y * ForwardTiltForce, Time.deltaTime);
        HelicopterModel.transform.localRotation = Quaternion.Euler(hTilt.y, HelicopterModel.transform.localEulerAngles.y, -hTilt.x);
    }

    private void OnKeyPressed(PressedKeyCode[] obj)
    {
        float tempY = 0;
        float tempX = 0;

        // stable forward
        if (hMove.y > 0)
            tempY = - Time.fixedDeltaTime;
        else
            if (hMove.y < 0)
                tempY = Time.fixedDeltaTime;

        // stable lurn
        if (hMove.x > 0)
            tempX = -Time.fixedDeltaTime;
        else
            if (hMove.x < 0)
                tempX = Time.fixedDeltaTime;


        foreach (var pressedKeyCode in obj)
        {
            switch (pressedKeyCode)
            {
                case PressedKeyCode.SpeedUpPressed:

                    EngineForce += 0.1f;
                    break;
                
                
                
                
                
                case PressedKeyCode.SpeedDownPressed:

                    EngineForce -= 0.12f;
                    if (EngineForce < 0) EngineForce = 0;
                    break;

                    
                    
                    
                    
                    
                    case PressedKeyCode.ForwardPressed:

                    if (IsOnGround) break;
                    tempY = Time.fixedDeltaTime;
                    break;
                    
                    
                    
                    
                    
                    case PressedKeyCode.BackPressed:

                    if (IsOnGround) break;
                    tempY = -Time.fixedDeltaTime;
                    break;
                    
                    
                    
                    
                    
                    case PressedKeyCode.LeftPressed:

                    if (IsOnGround) break;
                    tempX = -Time.fixedDeltaTime;
                    break;
                    
                    
                    
                    
                    
                    case PressedKeyCode.RightPressed:

                    if (IsOnGround) break;
                    tempX = Time.fixedDeltaTime;
                    break;
                    
                    
                    
                    
                    
                    case PressedKeyCode.TurnRightPressed:
                    {
                        if (IsOnGround) break;
                        var force = (turnForcePercent - Mathf.Abs(hMove.y))*HelicopterModel.mass;
                        HelicopterModel.AddRelativeTorque(0f, force, 0);
                    }
                    break;
                    
                    
                    
                    
                    
                    case PressedKeyCode.TurnLeftPressed:
                    {
                        if (IsOnGround) break;
                        
                        var force = -(turnForcePercent - Mathf.Abs(hMove.y))*HelicopterModel.mass;
                        HelicopterModel.AddRelativeTorque(0f, force, 0);
                    }
                    break;

            }
        }

        hMove.x += tempX;
        hMove.x = Mathf.Clamp(hMove.x, -1, 1);

        hMove.y += tempY;
        hMove.y = Mathf.Clamp(hMove.y, -1, 1);

    }

    private void OnCollisionEnter()
    {
        IsOnGround = true;
    }

    private void OnCollisionExit()
    {
        IsOnGround = false;
    }
}

Esse aqui, basicamente pega a tecla no teclado, e serializa.

Código:
using System;
using System.Collections.Generic;
using UnityEngine;

public class ControlPanel : MonoBehaviour {
    public AudioSource MusicSound;

    [SerializeField]
    KeyCode SpeedUp = KeyCode.Space;
    [SerializeField]
    KeyCode SpeedDown = KeyCode.C;
    [SerializeField]
    KeyCode Forward = KeyCode.W;
    [SerializeField]
    KeyCode Back = KeyCode.S;
    [SerializeField]
    KeyCode Left = KeyCode.A;
    [SerializeField]
    KeyCode Right = KeyCode.D;
    [SerializeField]
    KeyCode TurnLeft = KeyCode.Q;
    [SerializeField]
    KeyCode TurnRight = KeyCode.E;
    [SerializeField]
    KeyCode MusicOffOn = KeyCode.M;
    
    private KeyCode[] keyCodes;

    public Action<PressedKeyCode[]> KeyPressed;
    private void Awake()
    {
        keyCodes = new[] {
                            SpeedUp,
                            SpeedDown,
                            Forward,
                            Back,
                            Left,
                            Right,
                            TurnLeft,
                            TurnRight
                        };

    }

    void Start () {
 
 }

 void FixedUpdate ()
 {
    var pressedKeyCode = new List<PressedKeyCode>();
    for (int index = 0; index < keyCodes.Length; index++)
    {
        var keyCode = keyCodes[index];
        if (Input.GetKey(keyCode))
                pressedKeyCode.Add((PressedKeyCode)index);
    }

    if (KeyPressed != null)
        KeyPressed(pressedKeyCode.ToArray());

        // for test
        if (Input.GetKey(MusicOffOn))
        {
           if (  MusicSound.volume == 1) return;
/*            if (MusicSound.isPlaying)
                MusicSound.Stop();
            else*/
                MusicSound.volume = 1;
                MusicSound.Play();
        }
      
 }
}




Aqui é onde fica salvo

Código:
public enum PressedKeyCode
{
    SpeedUpPressed,
    SpeedDownPressed,
    ForwardPressed,
    BackPressed,
    LeftPressed,
    RightPressed,
    TurnLeftPressed,
    TurnRightPressed
}

Obrigado à quem puder me ajudar. <3


Última edição por dstaroski em Dom Abr 22, 2018 6:50 pm, editado 1 vez(es) (Razão : Resolvido)
otavio00augusto
otavio00augusto
Avançado
Avançado

Masculino PONTOS : 1101
REPUTAÇÃO : 4
Idade : 20
Respeito as regras : [RESOLVIDO] Trocar controles de keyboard para gui WvDYdlf

http://otavio.tk

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Trocar controles de keyboard para gui

Mensagem por otavio00augusto em Sab Abr 21, 2018 12:12 pm

+
Eu sei que eu tenho que colocar um public void, e fazer o botão no gui ativá-lo, mas não sei onde nesses códigos eu preciso colocar esse void que o botão vai usar pra fazer cada movimento...
otavio00augusto
otavio00augusto
Avançado
Avançado

Masculino PONTOS : 1101
REPUTAÇÃO : 4
Idade : 20
Respeito as regras : [RESOLVIDO] Trocar controles de keyboard para gui WvDYdlf

http://otavio.tk

Voltar ao Topo Ir em baixo

Resolvido Re: [RESOLVIDO] Trocar controles de keyboard para gui

Mensagem por otavio00augusto em Dom Abr 22, 2018 3:42 pm

Eu acabei encontrando a solução aqui, obrigado de qualquer forma. ;P
otavio00augusto
otavio00augusto
Avançado
Avançado

Masculino PONTOS : 1101
REPUTAÇÃO : 4
Idade : 20
Respeito as regras : [RESOLVIDO] Trocar controles de keyboard para gui WvDYdlf

http://otavio.tk

Voltar ao Topo Ir em baixo

Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum