当前位置:   article > 正文

Unity API详解——GameObject类

gameobject类

GameObject类是Unity场景中所有实体的基类。一个GameObject对象通常由多个组件(component)组成,且至少含有一个Transform组件。介绍GameObject类的一些实例属性、构造方法、实例方法和静态方法,并在最后对GameObject和Component这两个类之间的关系及其设计的GetComponent相关方法的使用区别进行注解。

一、GameObject类实例属性

在GameObject类中,设计的实例属性有activeSelf和activeInHierarchy。由于这两个属性功能相似,因此将属性activeInHierarchy作为activeSelf属性的提示内容介绍,下面主要介绍activeSelf属性。

1、aspect属性:设置摄像机视口比例

(1)基本语法

public bool activeSelf { get; }

(2)功能说明

此属性用来返回GameObject对象的Active标识状态

GameObject-001

cube1、cube2和cube3的Active状态分别为true、false和true。由于cube2的Actice为false,作为其子类cube3虽然没有被激活,但其activeSelf的返回值依然为true。

notes:注意此属性与属性activeInHierarchy的区别。activeInHierarchy属性的功能是返回GameObject实例在程序运行时的激活状态,它只有当GameObject实例的状态被激活时才会返回true。而且它会受其父类激活状态的影响,如果其父类至最顶层的对象中有一个对象未被激活,activeInHierarchy就会返回false。

(3)代码实现
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ActiveSelf_demo : MonoBehaviour
{
    public GameObject cube1, cube2, cube3;
    void Start()
    {
        //对Cube2设置为false,其他设置为true
        cube1.SetActive(true);
        cube2.SetActive(false);
        cube3.SetActive(true);

        Debug.Log("activeSelf:");
        //尽管cube2被设置为fasle,但其子类cube3的activeSelf返回值仍然为true
        Debug.Log("cube1.activeSelf:" + cube1.activeSelf);
        Debug.Log("cube2.activeSelf:" + cube2.activeSelf);
        Debug.Log("cube3.activeSelf:" + cube3.activeSelf);

        Debug.Log("-----------------------------------------------------------");
        Debug.Log("\nactiveInHierarchy:");
        //cube2和cube3的activeInHierarchy返回值都为false
        Debug.Log("cube1.activeInHierarchy:" + cube1.activeInHierarchy);
        Debug.Log("cube2.activeInHierarchy:" + cube2.activeInHierarchy);
        Debug.Log("cube3.activeInHierarchy:" + cube3.activeInHierarchy);
    }
}


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

首先声明了3个变量cube1,cube2和cube3分别指向实例工程中的3个GameObject对象cube1,cube2和cube3,这3个对象的层级关系如图所示。

然后分别设置cube1、cube2和cube3的Active为true、false和true。

最后分别打印出这3个对象的activeSelf属性值和activeIn Hierarchy属性值,结果如下。

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/93270
推荐阅读
相关标签
  

闽ICP备14008679号