value | 激活或停用对象:true 可激活 GameObject,而 false 可停用 GameObject。 |
根据给定的值 true
或 /false/,激活/停用 GameObject。
GameObject 可能因为父项未处于活动状态而处于非活动状态。在这种情况下,调用 SetActive 不会激活它,而是仅设置此 GameObject 的本地状态,该状态可使用 GameObject.activeSelf 加以检查。当所有父项均处于活动状态时,Unity 便可以使用此状态。
停用 GameObject 将禁用每个组件,包括附加的渲染器、碰撞体、刚体和脚本。例如,Unity 将不再调用附加到已停用 GameObject 的脚本的 Update()
方法。当 GameObject 收到 SetActive(true)
或 SetActive(false)
时,将调用 OnEnable
或 /OnDisable/。
using UnityEngine;
public class Example : MonoBehaviour { private GameObject[] cubes = new GameObject[10]; public float timer, interval = 2f;
void Start() { Vector3 pos = new Vector3(-5, 0, 0);
for (int i = 0; i < 10; i++) { cubes[i] = GameObject.CreatePrimitive(PrimitiveType.Cube); cubes[i].transform.position = pos; cubes[i].name = "Cube_" + i; pos.x++; } }
void Update() { timer += Time.deltaTime; if (timer >= interval) { for (int i = 0; i < 10; i++) { int randomValue = Random.Range(0, 2); if (randomValue == 0) { cubes[i].SetActive(false); } else cubes[i].SetActive(true); } timer = 0; } } }
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.