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

这篇具有很好参考价值的文章主要介绍了【Unity3D】Unity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。





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



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

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

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

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# 脚本附着的物体 , 代码如下 :

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

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

        // 获取当前组件附着的 游戏物体 GameObject 名称
        string name = gameObject.name;

完整代码如下 :

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# 脚本 ;

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

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

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





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



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

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

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

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

完整代码如下 :

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 编辑器 工具栏 右侧的 运行按钮 【Unity3D】Unity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 ) , 即可运行该 C# 组件 ;

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





四、UnityEngine 命名空间简介



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

public class BehaviourScript : MonoBehaviour
{
}

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

using UnityEngine;

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

  • Debug
  • GameObject
  • Transform

都定义在 UnityEngine 命名空间中 ;文章来源地址https://www.toymoban.com/news/detail-411315.html

到了这里,关于【Unity3D】Unity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity3d:asset store上C#代码热重载插件,不需要重运行,重新加载更新后函数

    https://assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-250972?clickref=1011lwHg8abvutm_source=partnerizeutm_medium=affiliateutm_campaign=unity_affiliate#description ●方法1:通过导航到Unity菜单栏中的“窗口”打开热重装窗口,然后选择“热重装”。 ●方法2:使用快捷键组合“Alt+Shift

    2024年02月02日
    浏览(31)
  • Unity3D 脚本3(旋转)

    一、物体的旋转 给物体调转一个旋转角度。 1、Quaternion四元组(x,y,z,w) transfrom.rotation()=... 不方便操作,官方不建议用 2、Euler Angle 欧拉角 transfrom.eulerAngles = new Vector(0,45,0); transfrom.LocalE ulerAngles = new Vector(0,45,0); 这样就可以让物体旋转45度。 在Update 中修改角度持续旋转 Vecto

    2023年04月16日
    浏览(28)
  • 【Unity3D脚本】Transform类

    欢迎大家学习指正 目录 一、Transform类简介 二、个别核心功能介绍 1.查找变换组件  2.改变位置、角度 1.缩放 2.移动 3.旋转  4.设置父物体  总结 一、Transform类简介 Transform类提供了查找(父、根、子)变换组件、改变位置、角度、大小功能 场景中的每一个对象都有一个Trans

    2024年02月16日
    浏览(18)
  • Unity读书系列《Unity3D游戏开发》——脚本(一)

    脚本在Unity的重要程度不用多说,她是大部分软件的核心组件。 我们将在此篇文章学习脚本模版及其拓展、脚本的生命周期、脚本的执行顺序、脚本序列化,下一篇为脚本编译与调试。 如下图我们可以在Project视图右键进行脚本创建,除了C#脚本,还有两类脚本;Testing用来做

    2024年04月28日
    浏览(23)
  • Unity3D教程:抓取物件脚本、变数、名称

    游戏中相当常使用的功能GetComponent,经常用来Get(取得)物件上的Component(组件)资讯,若没有取得组件会回传null值。 gameObject . GetComponent ( “ScriptName” ); 如果发现要抓取GetComponent上的值为大写可能就要注意一下原本的变数是否为小写如图1所示: TextMesh 是3D Text上原本就包含的

    2024年02月15日
    浏览(19)
  • 【Unity3D热更新】Unity3D 零成本、高性能的C#的热更新框架:HybridCLR

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 相信只要做过热更新的小伙伴,都被热更新搞过心态吧。 我有一个小伙伴,本来是面向

    2024年01月16日
    浏览(28)
  • 【Unity3D】Unity3D 软件安装 ( 注册账号并下载 Unity Hub | 安装 Unity Hub | 获取个人版授权 | 中文环境设置 | 安装 Unity3D 编辑器 )

    Unity 官方网站 : 英文 : https://unity.com 中文 : https://unity.cn 进入 中文网站 https://unity.cn , 点击右上角的 \\\" 下载 Unity \\\" 按钮 ; 推荐下载 Unity3D 的长期支持版本 ; 点击界面中的 \\\" 下载 Unity Hub \\\" 选项 ; 根据你的系统 , 选择对应的 Unity Hub , 我在 Windows 上开发 , 因此选择 \\\" Windows 下载 \\\"

    2024年01月25日
    浏览(51)
  • 【Unity3D】获取子组件方法汇总

    一、遍历获取一级子组件(不包括子组件的子组件) 二、获取所有子组件(包括子组件的子组件)   三、通过数组下标获取指定子组件

    2024年02月11日
    浏览(23)
  • 如何将Unity3D中的脚本打包成为DLL类库?

    如果我们想把代码打成DLL,首先需要有一个Assembly和一个合理的代码目录结构规划。 1.将要归为一类的脚本放进同一个文件内,在该文件夹下右键创建一个Assembly Definition,默认它会将同文件夹以及子目录内的脚本归为一个Assembly。 2.在Editor下创建一个CompileDll脚本来将我们的脚

    2024年02月12日
    浏览(22)
  • Unity3D 获取子孙物体并修改材质球属性

    如图要获取划线物体并修改其材质球: private Transform[] FindChild; public Material ChangeMat;//变换后的材质球 private Material mat; void Start() {         FindChild = this.gameObject.GetComponentsInChildrenTransform(true);//true表示包括隐藏物体的查找         foreach (Transform child in FindChild)         {  

    2024年02月15日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包