Unity新手教程:通过C#脚本移动游戏物体
创作时间:
作者:
@小白创作中心
Unity新手教程:通过C#脚本移动游戏物体
引用
CSDN
1.
https://blog.csdn.net/CODE_RabbitV/article/details/145618234
本文将通过一个简单的示例,介绍如何在Unity中使用C#脚本移动游戏物体。从创建脚本到最终运行,每个步骤都配有详细说明,适合Unity引擎的初学者学习。
Unity 通过 C# 脚本移动游戏物体
- 新建脚本文件
在Project窗口中右键点击,选择Creat -> C# Scripts,然后右键创建好的C#文件,选择Rename。
- 打开并编辑C#脚本
双击C#文件在VS中打开,初始内容如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class xxx : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void 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 update
void Start()
{
// Debug.Log("** xxx ... "); // 运行后,会在控制台窗口显示
GameObject obj = this.gameObject; // 获取当前所挂载的游戏物体
// Debug.Log("** NAME: " + obj.name); // 打印游戏物体名称
Vector3 pos = obj.transform.LocalPosition; // 如果需要全局坐标系下的位置,则用 .position
Debug.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.0f
this.transform.Translate(speed * Time.deltaTime, 0, 0); // 默认为 space.Self -- 物体自身坐标系
// this.transform.Translate(speed * Time.deltaTime, 0, 0,Space.World); // Global -- 世界坐标系
}
}
- 挂载脚本
将编写好的脚本直接拖动到目标物体的Inspector窗口中。
- 运行游戏
运行游戏,脚本会自动被加载、运行。
扩展阅读:
- 如果你想了解旋转游戏物体,可以参考:Unity 通过 C# 脚本旋转游戏物体
- Unity 使用 C# 进行开发,不熟悉的友友可以参考:C#官方文档
- Unity 官方手册:Unity官方手册
热门推荐
华西医院“好大夫”吉毅:医在其中,乐在其中
临终前,人们会看到什么?重症医学杂志揭秘“死亡体验”
壬子日柱遇到丙午年天克地冲的影响
股票主升浪是什么意思?如何理解股票市场中的主升浪现象?
税金及附加会计分录详解
臭氧消毒需要多长时间?
江西特产小吃零食
喜结良缘:女儿结婚的对联艺术
十几家,家常菜大比拼,家庭温馨味蕾记忆!
电压源型变频器和电流源型变频器的区别
鱼缸里水为什么老变绿?一文详解原因及解决方案
《鸣潮》测评:原末鸣初还是未来可期
驾校增加无人机培训项目可行性技术分析
杭州2025征兵新动向:近视手术需半年前做,体检时提交证明!
南宁楼市风云:二手房急降价,新政如何影响市场?
有哪种工作高薪却很不体面?看完之后,发现网友赚钱的路子还挺野
科目一挂了之后多久能再次考?
汽车发动机点火系统的故障诊断方法研究
腱鞘炎:从治疗到预防的全面指南
飞天茅台节后价格下跌,去年酱酒产能下降近一成
混动车保养:机油&滤清器是否需更换
去澳门旅游可以带多少现金?新规详解
天乙贵人的由来与推导过程 天乙贵人的正确查法
i5-12600KF和R5-7500F详尽对比:选购装机CPU指南
厦门“粉紫色云彩”惊艳上线,大波美图来袭!
胰腺假性囊肿怎么办
手部全面麻木应如何进行检查
腕关节解剖学:结构与功能详解
详解和田玉中的特色料:从皮色到产地的全方位解析
隐喻:定义、例子及其在文学中的重要性