前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Unity3D】Unity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )

【Unity3D】Unity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )

作者头像
韩曙亮
发布2023-03-30 17:54:03
1.3K0
发布2023-03-30 17:54:03
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、 C# 脚本的执行入口函数


在 C# 脚本中控制 游戏物体 GameObject 运动 , 要先获取该物体 , 然后 修改其 Transform 组件的属性 ;

在 游戏开始运行后 , 会自动执行 游戏物体 GameObject 上的 C# 组件代码 , 程序入口是 MonoBehaviour#Start() 函数 ;

在 C# 脚本中 , 主要的内容都在 Start() 函数 中实现 ;

代码语言:javascript
复制
using System.Collections.Generic;
using UnityEngine;

public class BehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Unity 脚本入口 , 启动加载时调用");
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

二、 获取当前游戏物体及物体名称


在 C# 脚本中 , 游戏物体类型是 GameObject , 可以通过调用 this.gameObject 获取当前 C# 脚本附着的物体 , 代码如下 :

代码语言:javascript
复制
        // 获取当前组件附着的 游戏物体 GameObject
        GameObject gameObject = this.gameObject;

获取 游戏物体 GameObject 的名称 , 调用 GameObject 类的 name 属性 , 即可获取当前物体的名称 ;

代码语言:javascript
复制
        // 获取当前组件附着的 游戏物体 GameObject 名称
        string name = gameObject.name;

完整代码如下 :

代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        // 打印日志
        Debug.Log("Unity 脚本入口 , 启动加载时调用");

        // 获取当前组件附着的 游戏物体 GameObject
        GameObject gameObject = this.gameObject;

        // 获取当前组件附着的 游戏物体 GameObject 名称
        string name = gameObject.name;
        Debug.Log("C# 脚本附着游戏物体的名称 : " + name);

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

回到 Unity 编辑器 , 会自动编译 修改后的 C# 脚本 ;

在这里插入图片描述
在这里插入图片描述

该 C# 脚本 已经被附着到了 立方体上 , 在 Unity 编辑器 工具栏 中 , 点击 运行按钮 , 即可执行该 C# 脚本 ;

在这里插入图片描述
在这里插入图片描述

三、 获取游戏物体的 Transform 组件数据


获取 游戏物体 GameObject 的 Transform 组件 , 调用 GameObject 对象的 transform 属性 即可 ;

代码语言:javascript
复制
        // 获取当前组件附着的 游戏物体 GameObject 的 Transform 组件
        Transform transform = gameObject.transform;

打印 Transform 组件的 位置 , 旋转量 , 缩放倍数 属性 :

代码语言:javascript
复制
        // 获取 Transform 组件的 位置 , 旋转量 , 缩放倍数 
        Debug.Log("C# 脚本附着游戏物体的 Transform 组件数据 位置 : " + transform.position 
            + " , 旋转量 : " + transform.rotation + " , 缩放倍数 : " + transform.localScale);

完整代码如下 :

代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        // 打印日志
        Debug.Log("Unity 脚本入口 , 启动加载时调用");

        // 获取当前组件附着的 游戏物体 GameObject
        GameObject gameObject = this.gameObject;

        // 获取当前组件附着的 游戏物体 GameObject 名称
        string name = gameObject.name;
        Debug.Log("C# 脚本附着游戏物体的名称 : " + name);

        // 获取当前组件附着的 游戏物体 GameObject 的 Transform 组件
        Transform transform = gameObject.transform;

        // 获取 Transform 组件的 位置 , 旋转量 , 缩放倍数 
        Debug.Log("C# 脚本附着游戏物体的 Transform 组件数据 位置 : " + transform.position 
            + " , 旋转量 : " + transform.rotation + " , 缩放倍数 : " + transform.localScale);


    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

回到 Unity 编辑器后 , 会自动编译上述修改后的 C# 脚本代码 ;

点击 Unity 编辑器 工具栏 右侧的 运行按钮

在这里插入图片描述
在这里插入图片描述

, 即可运行该 C# 组件 ;

在这里插入图片描述
在这里插入图片描述

四、UnityEngine 命名空间简介


Unity 中的 C# 脚本 , 都是 继承 MonoBehaviour 类 ;

代码语言:javascript
复制
public class BehaviourScript : MonoBehaviour
{
}

MonoBehaviour 类是在 UnityEngine 命名空间 下定义的 ;

代码语言:javascript
复制
using UnityEngine;

在本博客中所有用到的关于 Unity 的类 , 如

  • Debug
  • GameObject
  • Transform

都定义在 UnityEngine 命名空间中 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、 C# 脚本的执行入口函数
  • 二、 获取当前游戏物体及物体名称
  • 三、 获取游戏物体的 Transform 组件数据
  • 四、UnityEngine 命名空间简介
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档