Mostrar e Ocultar
Parte da seção Noções básicas de scripting no Unity do Journey de Unity da Coddy. Lição 34 de 67.
SetActive(false) desativa um GameObject inteiro: ele não é desenhado, deixa de colidir, os scripts nele param de receber Update(), e seus filhos também são desativados. SetActive(true) reativa tudo, e activeSelf informa se ele está ativo. Este script em um botão oculta a porta no campo door quando o mouse é clicado:
public GameObject door;
void Update()
{
if (Input.GetMouseButtonDown(0))
{
door.SetActive(false);
}
}Um script que oculta o próprio objeto, com gameObject.SetActive(false), não consegue reativá-lo, porque seu Update() deixa de ser executado. Portanto, o botão fica em outro objeto, com uma referência ao objeto que ele mostra e oculta.
enabled desativa um componente e deixa o restante do objeto intacto. GetComponent<Renderer>().enabled = false torna um objeto invisível, mas seu colisor ainda bloqueia as coisas: uma parede invisível. Um script com enabled = false não recebe mais chamadas de Update(), mas o objeto permanece na cena, ainda sendo desenhado e colidindo, e seus outros componentes continuam funcionando.
Desafio
MédioO script da alavanca mantém a ponte em seu campo bridge. Faça a tecla Espaço controlar a ponte: o primeiro pressionamento a oculta, o próximo a traz de volta e assim por diante, uma alternância por pressionamento.
Oculte a ponte inteira, incluindo o colisor, para que ninguém possa ficar em uma ponte que não está lá.
Pressione Play, pressione Espaço algumas vezes e, em seguida, Check.
Experimente você mesmo
using UnityEngine;
public class BridgeSwitch : MonoBehaviour
{
public GameObject bridge;
void Update()
{
// Space esconde a ponte, e o próximo pressionamento a mostra novamente
}
}
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Noções básicas de scripting no Unity
1Seu primeiro script
Olá, UnityPosicione o cuboMova a cada quadroGire a cada segundoConduza com as teclasRecapitulando: dirija o cubo4Vetores
Adicionando vetoresDireçõesEspaço local e espaço do mundoVelocidade diagonalDistância entre objetosVector3 é uma structRevisão: piloto de drone7Projeto: Pegue a Estrela
O ApanhadorUma Estrela Cadente10O ciclo de vida dos scripts
Awake e StartUpdate e LateUpdateOnEnable e OnDisableA ordem do ciclo de vidaRevisão: registrador do ciclo de vida5Transformações e Hierarquia
Pais e FilhosEscalaObserve as CoisasMova-se em Direção a um PontoRevisão: Lua em Órbita6GameObjects e Componentes
Referências no InspectorObter um ComponenteComponentes AusentesAdicionar um ComponenteRequireComponentMostrar e OcultarRevisão: Interruptor de Luz