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

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity3DUnity 脚本 ③ ( 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# 脚本 ;

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





三、 获取游戏物体的 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 编辑器 工具栏 右侧的 运行按钮 , 即可运行该 C# 组件 ;





四、UnityEngine 命名空间简介



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

public class BehaviourScript : MonoBehaviour


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

using UnityEngine;

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

  • Debug
  • GameObject
  • Transform

都定义在 UnityEngine 命名空间中 ;

以上是关于Unity3DUnity 脚本 ③ ( C# 脚本的执行入口函数 | 获取当前游戏物体及物体名称 | 获取游戏物体的 Transform 组件数据 | UnityEngine 命名空间简介 )的主要内容,如果未能解决你的问题,请参考以下文章

Unity3DUnity 中使用 C# 调用 Java ③ ( C# 调用 Java 实例 | 进行 Android 工程打包 | Android Studio 中运行 Android 工程 )

Unity3DUnity 脚本 ① ( 创建 C# 脚本 | Visual Studio 2019 中打开 C# 脚本 | 编译 C# 脚本 | 挂载 C# 脚本到游戏物体 | 运行脚本 )

Unity3DUnity 脚本 ② ( Visual Studio 2019 中的 Unity 编译环境配置 | Unity 编辑器关联外部 C# 脚本编辑器 Visual Studio )

Unity3DUnity 脚本 ④ ( 游戏物体 GameObject 的坐标 | 修改 游戏物体 GameObject 的本地坐标 )

Unity3DUnity 脚本 ⑤ ( 编辑模式与播放模式 )

Unity3DUnity 组件 ③ ( 为物体添加 AudioSource 组件 | 添加 AudioSource 组件 | 导入音频文件 | 为组件设置音频 | Transform 变换组件 )