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官方手册
热门推荐
苏菲·玛索主演的5部经典电影作品
闺蜜网名2人一个可爱一个高冷(精选86个)
民营企业入局,激活可控核聚变探索生态
【影视墙】影视墙材料 影视墙造型 影视墙装修壁纸
没有委托人签字别人代签的合同有法律效力吗
猪脚姜什么时候吃最好?功效与食用指南
眼睛干涩流泪、视物不清?专家:都是干眼症的表现
属龙人2025年全年运势详解:事业、财富与爱情展望
如何正确换盆柠檬?(换土、换盆的步骤和技巧)
全国哪的饺子蘸料最好吃?这10个地方的蘸料各具特色
空心菜的经典做法,营养美味又简单
十种冲泡饮品推荐:从绿茶到咖啡,总有一款适合你
从安全性来说,家用车选SUV好还是轿车好?为何事故死亡率相差1倍
多学科权威指导,《结直肠癌术后居家健康手册》助力患者科学康复
供樓壓力大?供樓還款新攻略,教你輕鬆減負
一个主食小改变,全身炎症都下降,“宝藏食物”揭秘
耳语者的谎言:OpenAI的Whisper模型幻觉问题深度剖析与未来展望
激光三角测量3D扫描技术如何改善制造过程?
合同双方当事人身份确认及保障策略研究
淮安企业债券贷款:助力经济发展与产业升级
十座商务车有哪些选择?
哪些疾病可申请残疾证及办理全流程指南
股票胜率的计算方法是怎样的?股票胜率对投资策略有何影响?
Excel表CSV格式不兼容怎么办
探索丨量子力学与日常生活的关联
上海交大2024统招线大数据,招生计划解读,报考攻略详解
探索十字架及其与戒指的有趣联系
十字军200年八次东征,是圣战还是侵略?一文看懂其中的门门道道
光束整形在金属增材制造应用中的优势
鱼和螃蟹能放在一起养吗?