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官方手册
热门推荐
国医大师路志正:治顽固性失眠经验
在家也能暴汗燃脂!多种运动方式助你轻松健身
故意伤害轻伤二级有谅解书一般会怎么判
清洗眼镜不伤镜片的方法
3.0模式助科学减重 全周期管理为健康赋能
云存储空间不足怎么办?六大解决方案帮你轻松应对
全国首例!打卡“鱼”众不同的水下生态长廊
内地储户成“财神爷”,香港银行花式“抢钱”
香港存款利率创新高:美元存款成热门选择
腰椎生理曲度变直,是怎么回事?直了还能弯回来吗?
糖尿病人吃大蒜有啥好处
SaaS中的DAU/MAU比率是什么?
篮球战术解析:防守和进攻3秒的关键技巧与策略
家用车应该买什么轮胎?买这11款就对了
NRF24L01模块实现电机程序控制的详细指南
原神那维莱特技能解析攻略
清朝最后三代皇帝都没有孩子 他们为什么会绝后
青瓦台,一个仿古建筑能有什么“魔咒”?
孩子情绪管理小课堂:学会自我调节
科教协同聚合力 人才培养结硕果——湖北大学楚才学院积极探索拔尖创新人才培养模式
早晨起来眼睛畏光是怎么回事
瘰疬的中医辨证论治
观点纵论|“网红”汕头如何“长红”发展?
富阳一日游最佳景点推荐畅玩不停歇
去年上海常住人口60岁及以上老人占比25%,谈“老”就要色变吗?
被财产保全后能否申请贷款?一文详解保全后的应对方案
立冬保養要養「藏」,提升臟腑功能!中醫師推:按摩4大穴位、喝養生藥膳
糖尿病患者每日碳水化合物摄入指南
150度近视的成人应选择哪种镜片
浙江省中医院专家挂号预约系统使用指南