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官方手册
热门推荐
电脑无声音?7种实用方法帮你快速恢复音效
直播声卡伴奏完全指南:从入门到精通
直播唱歌如何用声卡提升伴奏质量?
《诗词里的中国》:一场跨越千年的文化之旅
苏霍姆林斯基:优秀教师特质如何塑造校园文化
如何成为一名优秀的教师:从专业能力到个人素养的全面提升
优秀教师如何塑造学生未来?从个性化教学到核心素养培养
高职教师如何用元认知策略提升专业能力?
新疆美食与景点全攻略:8家特色餐厅推荐+7处绝美景点
铁链装饰:辟邪还是时尚?
深度探索湖南郴州资兴东江湖的魅力之旅:必游景点、行程推荐与味蕾之旅
00后南京大屠杀历史记忆传承人:愿这段历史记忆水滴般扩散
无刷电机:科技发展的新宠儿
黄金首饰如何保养七大招
金子的种类有哪些?这些金子的价值如何评估?
职业年金一共发多少年?退休人员都能领吗?
推动孩子向前时,既要坚定又要有爱
提升子女竞争力 由培养良好习惯开始
优秀的孩子,都是家长陪出来的(附1-9年级陪伴方法)
U盘在电脑上读不出来怎么办?6个方法帮你修复U盘
U盘在电脑上读不出来怎么办?6个方法帮你修复U盘
漫画角色心理分析:从英雄到反派的成长轨迹
诺曼底登陆:揭秘二战关键战役
高血压不能吃柑橘?注意:是这类降压药和一种柚、一种橙有禁忌!
清蒸鱼做法有哪些?4道蒸鱼食谱让你烧出餐厅级的大菜
秋冬院子美翻天!必选樱花树和桂花树
石家庄植物园秋叶树,让你的院子更美
秋冬种树指南:桂树和石榴树谁更旺家?
冰雪奇缘Elsa角色揭秘:从《白雪女王》到《Let it Go》的蜕变之路
舌尖上的威海:一座城市的美食记忆