Como ativar e desativar um gameObject com uma tecla
3 participantes
Página 1 de 1
Como ativar e desativar um gameObject com uma tecla
Pessoal sou novo em programação e em unity, gostaria de saber como ativar e desativar um Game Object pressionando a tecla F. Fiz um script mas quando inicia o jogo o braço do personagem fica desativado como eu quero, porem quando aperto F não acontece nada.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesativarBraco : MonoBehaviour
{
public GameObject braco;
void Start()
{
braco.SetActive(false); //Quando inicia o jogo não é pra aparecer o braço do personagem.
}
void Update()
{
{ if (Input.GetKeyDown(KeyCode.F)) / /Aqui eu quero pressionar a letra F para ativar e desativar o braço.
{
braco.SetActive(braco.activeInHierarchy);
}
}
}
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesativarBraco : MonoBehaviour
{
public GameObject braco;
void Start()
{
braco.SetActive(false); //Quando inicia o jogo não é pra aparecer o braço do personagem.
}
void Update()
{
{ if (Input.GetKeyDown(KeyCode.F)) / /Aqui eu quero pressionar a letra F para ativar e desativar o braço.
{
braco.SetActive(braco.activeInHierarchy);
}
}
}
}
jeancvo3- Membro
- PONTOS : 1504
REPUTAÇÃO : 17
Idade : 27
Respeito as regras :
Re: Como ativar e desativar um gameObject com uma tecla
voce estava jogando o script no mesmo objeto que vc queria que fosse desativado? pq se vc jogasse o objeto começaria desativado e o script neste objeto não iria funcionar justamente pq o objeto já estaria desativado tente isto:
não jogue o script no mesmo obj que vc quer que seja desativado pois se não irá dar erro
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesativarBraco : MonoBehaviour
{
public GameObject braco; // jogue o objeto que vc quer que seja desativado aqui
public bool ligado = false;
void Start()
{
braco.SetActive(false); // ira comecar como false
}
void Update()
{
if(Input.GetKeyDown(KeyCode.F))
{
Debug.LogError("Apertou");
ligado = !ligado; // o ponto de interrogação (!) antes da variavel faz com que o objeto fique ao contrário do estado atual dele
}
if(ligado == true) // se ligado for true o braco sera true
{
braco.SetActive(true);
}
if(ligado == false) // se ligado for false o braco sera false
{
braco.SetActive(false);
}
}
}
não jogue o script no mesmo obj que vc quer que seja desativado pois se não irá dar erro
jeancvo3- Membro
- PONTOS : 1504
REPUTAÇÃO : 17
Idade : 27
Respeito as regras :
Re: Como ativar e desativar um gameObject com uma tecla
@SauloeArthur Voce pode economizar linhas de código, voce nao precisa dessas instruções if, pois voce ja define a bool na linha "ligado = !ligado". Voce pode simplificar o código assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesativarBraco : MonoBehaviour
{
public GameObject braco; // jogue o objeto que vc quer que seja desativado aqui
public bool ligado = false;
void Start()
{
braco.SetActive(ligado); // ira comecar como false
}
void Update()
{
if(Input.GetKeyDown(KeyCode.F))
{
Debug.LogError("Apertou");
ligado = !ligado; // o ponto de interrogação (!) antes da variavel faz com que o objeto fique ao contrário do estado atual dele
braco.SetActive(ligado);
}
}
}
Pokedlg- ProgramadorMaster
- PONTOS : 2339
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Como ativar e desativar um gameObject com uma tecla
sim verdade quanto menos linha melhorPokedlg escreveu:@SauloeArthur Voce pode economizar linhas de código, voce nao precisa dessas instruções if, pois voce ja define a bool na linha "ligado = !ligado". Voce pode simplificar o código assim:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class DesativarBraco : MonoBehaviour
{
public GameObject braco; // jogue o objeto que vc quer que seja desativado aqui
public bool ligado = false;
void Start()
{
braco.SetActive(ligado); // ira comecar como false
}
void Update()
{
if(Input.GetKeyDown(KeyCode.F))
{
Debug.LogError("Apertou");
ligado = !ligado; // o ponto de interrogação (!) antes da variavel faz com que o objeto fique ao contrário do estado atual dele
braco.SetActive(ligado);
}
}
}
Tópicos semelhantes
» Como Ativar e Desativar Uma Variavel Boleana Com A Mesma Tecla?
» Como desativar um gameobject atraves do seu objeto-filho?
» Como ativar e desativar o Box Collider utilizando o RayCast.
» Como Faço Para Ativar/Desativar Material Por Script ?
» Como desativar e ativar o script de um personagem
» Como desativar um gameobject atraves do seu objeto-filho?
» Como ativar e desativar o Box Collider utilizando o RayCast.
» Como Faço Para Ativar/Desativar Material Por Script ?
» Como desativar e ativar o script de um personagem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos