Verificar se game object está habilitado ou desabilitado
+2
George Lucas Vieira
Marc7
6 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Verificar se game object está habilitado ou desabilitado
Boa tarde a todos,
preciso de um codigo que verifique se um objeto está habilitado lá no inspector.
eu pensei em algo do tipo:
esse script está anexado no proprio objeto.
é desse jeito mesmo que escreve para verificar se ele está ativo?
e se eu quero verificar se ele está desabilitado, como seria? seria !gameObject.activeSelf ?
preciso de um codigo que verifique se um objeto está habilitado lá no inspector.
eu pensei em algo do tipo:
- Código:
if (gameObject.activeSelf) {
}
esse script está anexado no proprio objeto.
é desse jeito mesmo que escreve para verificar se ele está ativo?
e se eu quero verificar se ele está desabilitado, como seria? seria !gameObject.activeSelf ?
Marc7- Mestre
- PONTOS : 3445
REPUTAÇÃO : 28
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
Perdão, mas não sei te responder desta maneira... E o Unity reference também não me ajudou muito.
Ao invés de simplesmente ativar e desativar por script, eu sempre usei uma variável auxiliar para isso cara, desta forma:
Quando uma bool = false, o objeto desativa. Quando uma bool = true, o objeto ativa.
Assim, terei total controle sobre o objeto a partir desta variável auxiliar.
Algo como:
Assim, se o objeto estiver ativado, a variável sempre vai ser true. Se o objeto estiver desativado, a variável sempre vai ser false. E você pode utilizá-la para outras verificações. Até mais vey, flw!
Ao invés de simplesmente ativar e desativar por script, eu sempre usei uma variável auxiliar para isso cara, desta forma:
Quando uma bool = false, o objeto desativa. Quando uma bool = true, o objeto ativa.
Assim, terei total controle sobre o objeto a partir desta variável auxiliar.
Algo como:
- Código:
public GameObject testObj;
private bool auxActive;
void Start(){
auxActive = true;
}
void Update(){
if(Vector3.Distance(transform.position, testObj.transform.position) < 2){
auxActive = false;
}
else{
auxActive = true;
}
if(auxActive)
testObj.SetActive(true);
if(!auxActive)
testObj.SetActive(false);
}
Assim, se o objeto estiver ativado, a variável sempre vai ser true. Se o objeto estiver desativado, a variável sempre vai ser false. E você pode utilizá-la para outras verificações. Até mais vey, flw!
George Lucas Vieira- Avançado
- PONTOS : 3393
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
Valeu George pela dica! esse .activeSelf eu descobri pela internet, tenstando aqui até que funcionou, eu fiz um pequeno codigo só para testar isso:
sempre que eu aperto a tecla D, se o objeto estiver habilitado no inspector, valor vira verdadeiro, então o activeSelf é para isso mesmo, ele vê se o objeto está ativo.
durante a simulação eu testei desabilitando o objeto manualmente, aí quando aperto D valor não se torna true, então está funcionando.
mas quando fui fazer o contrario tipo:
esse "!gameObject.activeSelf" já não funciona, que seria verificar se o objeto está inativo.
- Código:
public bool valor = false;
if (Input.GetKeyDown(KeyCode.D)) {
if (gameObject.activeSelf) {
valor = true;
}
}
sempre que eu aperto a tecla D, se o objeto estiver habilitado no inspector, valor vira verdadeiro, então o activeSelf é para isso mesmo, ele vê se o objeto está ativo.
durante a simulação eu testei desabilitando o objeto manualmente, aí quando aperto D valor não se torna true, então está funcionando.
mas quando fui fazer o contrario tipo:
- Código:
if (Input.GetKeyDown(KeyCode.E)) {
if (!gameObject.activeSelf) {
valor = false;
}
}
esse "!gameObject.activeSelf" já não funciona, que seria verificar se o objeto está inativo.
Marc7- Mestre
- PONTOS : 3445
REPUTAÇÃO : 28
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
Provavelmente, esta função não consegue analisar o objeto que está desativado, pois ele está realmente desativado kkkkk
Tenta fazer da maneira que falei, é um pouco mais trabalhoso mas sem complicações.
Tenta fazer da maneira que falei, é um pouco mais trabalhoso mas sem complicações.
George Lucas Vieira- Avançado
- PONTOS : 3393
REPUTAÇÃO : 132
Idade : 21
Áreas de atuação : Programação, Modelagem e Animação.
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
exato não vai conseguir pois o próprio script so vai funcionar quando o objeto estiver ativo, vc tera q verifica-lo com outro objeto a maneira mais simple seria este script a baixo na camera onde vc referenciaria o objeto no qual vc quer verificar.
- Código:
public GameObject objeto_a_ser_verificado;
void Update ()
{
if (objeto_a_ser_verificado.activeSelf == true) {
// Oque deve ser feito
}
else {
//O que deve ser feito
}
}
kalielson- ProgramadorMaster
- PONTOS : 3574
REPUTAÇÃO : 120
Idade : 40
Áreas de atuação : Mestrando em Computação
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
- Código:
bool = true;
if(bool){
// retorna true
}
if(!bool){
// retorna false
}
RenanMSV- Instrutor
- PONTOS : 4485
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
verificar se o objeto esta desativado no objeto que esta desativado não vai funcionar como o George Lucas Vieira falou o objeto esta realmente desativado
Weslley- Moderador
- PONTOS : 5728
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
ok então o activeSelf é unico mesmo só para objetos ativos.
terei que ter um segundo comando para verificar se ele está inativo.
valeu pessoal, vou seguir as dicas!
terei que ter um segundo comando para verificar se ele está inativo.
valeu pessoal, vou seguir as dicas!
Marc7- Mestre
- PONTOS : 3445
REPUTAÇÃO : 28
Respeito as regras :
Re: Verificar se game object está habilitado ou desabilitado
Excelente, esse activeSelf serviu perfeitamente para o meu menu. :Dkalielson escreveu:exato não vai conseguir pois o próprio script so vai funcionar quando o objeto estiver ativo, vc tera q verifica-lo com outro objeto a maneira mais simple seria este script a baixo na camera onde vc referenciaria o objeto no qual vc quer verificar.
- Código:
public GameObject objeto_a_ser_verificado;
void Update ()
{
if (objeto_a_ser_verificado.activeSelf == true) {
// Oque deve ser feito
}
else {
//O que deve ser feito
}
}
Tópicos semelhantes
» imagen Ui seguir um game Object
» VERIFICAR SE O USUARIO ESTÁ COM INTERNET
» [RESOLVIDO] problemas ao animar o game object
» Como verificar se o objeto esta em movimento?
» Verificar se player está posado em blogo
» VERIFICAR SE O USUARIO ESTÁ COM INTERNET
» [RESOLVIDO] problemas ao animar o game object
» Como verificar se o objeto esta em movimento?
» Verificar se player está posado em blogo
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos