Если вы просто хотите переключать активацию и деактивацию GameObject при каждом нажатии клавиши табуляции, получите текущее состояние с помощью ObjectOne.activeSelf
, когда клавиша табуляции нажата.Отразите это с помощью !
, затем передайте это перевернутое значение в функцию SetActive
.
public GameObject ObjectOne;
void Update()
{
if (Input.GetKeyDown(KeyCode.Tab))
{
//Get current State
bool currentState = ObjectOne.activeSelf;
//Flip it
currentState = !currentState;
//Set the current State to the flipped value
ObjectOne.SetActive(currentState);
}
}
Это также можно сделать в одной строке кода:
void Update()
{
if (Input.GetKeyDown(KeyCode.Tab))
ObjectOne.SetActive(!ObjectOne.activeSelf);
}
Если это компонент, используйте взамен Behaviour.enabled
.Вся эта штуковина все та же.Лучше кэшировать компонент, чем получать его в функции Update
, но я не буду в приведенном ниже примере для простоты.
public GameObject ObjectOne;
void Update()
{
if (Input.GetKeyDown(KeyCode.Tab))
{
Renderer rdr = ObjectOne.GetComponent<Renderer>();
//Get current State
bool currentState = rdr.enabled;
//Flip it
currentState = !currentState;
//Set the current State to the flipped value
rdr.enabled = currentState;
}
}