文章目录
- 一、 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 命名空间中 ;