当前位置:   article > 正文

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

c# 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()
    {
        
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17




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



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

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

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

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

完整代码如下 :

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()
    {
        
    }
}
  • 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

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

在这里插入图片描述

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

在这里插入图片描述





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



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

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

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

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

完整代码如下 :

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()
    {
        
    }
}
  • 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
  • 31
  • 32
  • 33
  • 34
  • 35

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

点击 Unity 编辑器 工具栏 右侧的 运行按钮 在这里插入图片描述 , 即可运行该 C# 组件 ;

在这里插入图片描述





四、UnityEngine 命名空间简介



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

public class BehaviourScript : MonoBehaviour
{
}
  • 1
  • 2
  • 3

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

using UnityEngine;
  • 1

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

  • Debug
  • GameObject
  • Transform

都定义在 UnityEngine 命名空间中 ;

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

闽ICP备14008679号