GameObject类一些常用的方法属性

本文详细介绍了Unity中GameObject类的基本用法,包括如何在脚本中获取游戏对象名称、Tag和激活状态等属性,以及如何获取和添加组件。此外还介绍了如何通过名字或Tag查找游戏对象,以及如何销毁游戏对象。

GameObject类:

GameObject类

在脚本中获取游戏对象

这里写图片描述

常用的方法属性

方法

代码实例:

using UnityEngine;
using System.Collections;

public class Test : MonoBehaviour {

    // GameObject - 游戏对象类
    void Start () {
        // 获取当前脚本所挂载的游戏对象
        // 一般来说,在属性视图中能够看到或修改的属性,我们同样可以在脚本中获取并修改 

        // 1.游戏对象的名字
        Debug.Log(gameObject.name);
        // 给游戏对象重新赋值
        gameObject.name = "老王";

        // 2.获取游戏对象的 Tag
        Debug.Log(gameObject.tag);
        gameObject.tag = "Player";

        // 3.获取当前游戏对象的激活状态
        Debug.Log(gameObject.activeSelf);

        // 4.设置游戏对象的激活状态
        gameObject.SetActive(false);

        // 5.获取游戏对象身上的其他组件()
        CubeController c = gameObject.GetComponent<CubeController>();
        Debug.Log(c.balabala);

        // 6.给游戏对象添加指定类型的组件
        Light l = gameObject.AddComponent<Light>();

        // 7.通过 Tag 值查找游戏对象
        GameObject g = GameObject.FindGameObjectWithTag("Player");
        g.name = "老王";

        GameObject gg = GameObject.FindWithTag("Player");

        // 8.通过游戏对象名查找游戏对象
        GameObject g1 = GameObject.Find("Main Camera");
        g1.name = "主摄像机";

        // 10.通过 Tag 值查找多个游戏对象
        GameObject[] gs = GameObject.FindGameObjectsWithTag("Player");
    }

    void Update () {
        if (Input.GetKeyDown(KeyCode.X))
        {
            // 9.销毁游戏对象
            GameObject.Destroy (gameObject,2f);
        }
    }
}

CubeController(5)组件

using UnityEngine;
using System.Collections;

public class CubeController : MonoBehaviour {

    public string balabala;
}
在 Unity 中改变 GameObject 颜色属性通常可通过以下几种常见方法实现: ### 材质颜色修改 若 GameObject 有 MeshRenderer 组件且使用了材质(Material),可通过修改材质的颜色来改变其显示颜色。以下是示例代码: ```csharp using UnityEngine; public class ChangeColorByMaterial : MonoBehaviour { void Start() { // 获取 MeshRenderer 组件 MeshRenderer renderer = GetComponent<MeshRenderer>(); if (renderer != null) { // 获取材质 Material material = renderer.material; // 修改材质颜色 material.color = Color.red; } } } ``` 此代码在 `Start` 方法里获取 GameObject 的 `MeshRenderer` 组件,再获取其材质,最后将材质颜色设为红色。 ### 精灵颜色修改 对于使用了 SpriteRenderer 组件的 2D 精灵对象,可直接修改精灵的颜色。示例代码如下: ```csharp using UnityEngine; public class ChangeColorBySprite : MonoBehaviour { void Start() { // 获取 SpriteRenderer 组件 SpriteRenderer spriteRenderer = GetComponent<SpriteRenderer>(); if (spriteRenderer != null) { // 修改精灵颜色 spriteRenderer.color = Color.blue; } } } ``` 该代码在 `Start` 方法中获取 GameObject 的 `SpriteRenderer` 组件,然后把精灵颜色设为蓝色。 ### UI 元素颜色修改 对于 UI 元素(如 Image、Text 等),可修改其颜色属性。以下是修改 Image 颜色的示例代码: ```csharp using UnityEngine; using UnityEngine.UI; public class ChangeColorByUI : MonoBehaviour { public Image targetImage; void Start() { if (targetImage != null) { // 修改 Image 颜色 targetImage.color = Color.green; } } } ``` 此代码在 `Start` 方法里获取指定的 `Image` 组件,接着将其颜色设为绿色。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值