以匀速移动一个立方体对象为例,展示具体
位移
编码操作
- 话不多说,上代码,超简单必懂!不懂可以留言喔 ~
- 如果你想了解旋转游戏物体 👉 Unity 通过 C# 脚本旋转游戏物体指路

欢迎关注 、订阅专栏 【unity 新手教程】谢谢你的支持!💜💜
Unity 通过 C# 脚本移动游戏物体
-
新建脚本文件
xxx.cs
:Project 窗口右键 - Creat - C# Scripts - 右键创建好的 C# 文件 - Rename
-
双击 C# 文件在 VS 中打开,初始内容如下:
using System.Collections; using System.Collections.Generic; using UnityEngine;public class xxx : MonoBehaviour {// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){} }
-
修改代码,保存(保存之后会自动编译,不用手动管)
// 匀速移动核心代码 float speed = 1.0f this.transform.Translate(speed * Time.deltaTime, 0, 0);
//匀速移动完整代码 using System.Collections; using System.Collections.Generic; using UnityEngine;public class xxx : MonoBehaviour // 类名与文件名一致,需要修改的话:右键类名 - 重命名 - 即可同步修改 {// 成员属性// Start is called before the first frame updatevoid Start(){// Debug.Log("** xxx ... "); // 运行后,会在控制台窗口显示GameObject obj = this.gameObject; // 获取当前所挂载的游戏物体// Debug.Log("** NAME: " + obj.name); // 打印游戏物体名称Vector3 pos = obj.transform.LocalPosition; // 如果需要全局坐标系下的位置,则用 .positionDebug.Log("** POS: " + pos); // 打印位置,LocalPosition 与 inspector 中显示一致// #### 场景 1. 游戏开始前移动物体到指定初始位置// obj.transform.localPosition = new Vector3(1.0f, 1.1f, 1.2f); // 移动到指定位置 (1.0f, 1.1f, 1.2f)}// Update is called once per frame (每帧都更新,帧率不固定)void Update(){Debug.Log("Time delta" + Time.deltaTime); // 打印两帧时间间隔// #### 场景 2. 非严格匀速移动:每帧移动固定距离,如 0.01f// Vector3 pos = this.transform.localPosition;// pos.x += 0.01f;// this.transform.localPosition = pos;// #### 场景 3 【更新 localPosition 写法】. 严格匀速移动,速度设定为 speed //Vector3 pos = this.transform.localPosition;//float speed = 1.0f;//pos.x += speed*Time.deltaTime;//this.transform.localPosition = pos; // #### 场景 3 【简单写法:利用坐标增量更新】. 严格匀速移动,速度设定为 speed float speed = 1.0fthis.transform.Translate(speed * Time.deltaTime, 0, 0); // 默认为 space.Self -- 物体自身坐标系// this.transform.Translate(speed * Time.deltaTime, 0, 0,Space.World); // Global -- 世界坐标系 } }
-
挂载:直接拖动到目标物体的 Inspector 窗口中
-
运行:运行游戏,脚本会自动被加载、运行
欢迎关注 、订阅专栏 【unity 新手教程】谢谢你的支持!💜💜
- Unity 使用 C# 进行开发,不熟悉的友友 👉 C#官方文档指路
- Unity 官方手册指路