前言:主要想记录下自己自学的过程、期间遇见的问题、不同版本需要调整的地方,方便以后复习能及时找到对应的部分;同时也希望给想要入门游戏开发、学习unity的各位一些经验,减少一些弯路
学习资料目前主要依靠 unity 官网,我的想法是先根据官方的游戏套件能够做出个可玩的小游戏,这样有一定的正反馈更容易坚持下去
下面是学习 unity 过程中经常要用到的一些网站
unity learn:https://learn.unity.com/
中文课堂:Unity3d 教程 | Unity 中文课堂
资源商店:Unity Asset Store - The Best Assets for Game Making
用户手册:Unity - Manual: Unity User Manual 2022.3 (LTS)
开发工具:unity hub3.7.0、visual studio 2022、rider(和vs 2选1即可)
之前的文章
【学习笔记】自学Unity Day01https://blog.csdn.net/SCH_Evile/article/details/137154843
上一篇文章已经能够让 ruby 进行移动,现在我们修改脚本,让我们能够通过键盘的输入控制 ruby 的移动
通过键盘输入控制 ruby 移动
查看 unity 的输入设置:edit - project settings - input manager(旧版本在 input 中)
对于键盘按键,负值键(a、左方向键)按下时为 -1,正值键(d、右方向键)按下时为 1;通过 input system 可以方便的自定义操作按键
双击打开脚本 RubyController,修改 update 方法
// 获取键盘输入
float horizontal = Input.GetAxis("Horizontal");
Vector2 position = transform.position;
position.x = position.x + 0.1f * horizontal;
transform.position = position;
说明:GetAxis 和 GetAxisRaw 都可以获取键盘的输入,两者的区别在于 GetAxisRaw 返回的是 -1,1;而 GetAxis 返回的是 -1 - 1之间的数,有个渐变的过程
注意:字符串 "Horizontal" 需要和 input manager 中的 Name 保持一致
现在如果没有按键,则 horizontal 的值为 0, ruby 不会进行移动,反之则进行左右移动
添加垂直移动
和水平移动类型,先在 input manager 中查看垂直移动的输入信息
可以看到对应的 Name 是 Vertical,对应的键盘输入是 s、w 和方向键上、下
在脚本的 update 方法中添加如下代码
float vertical = Input.GetAxis("Vertical");
调整移动速度
update 方法每帧都会调用,不同的电脑配置可能会导致相同时间 ruby 的移动速度不同,为了让 ruby 的移动速度在不同的配置下保持一致,我们需要做些配置;
可以在 unity 的 game 视图右侧点击 state,即可查看游戏运行时的帧数
要解决这个问题,我们需要用单位/秒来移动 ruby,为此我们需要修改 update 脚本
// 获取键盘输入
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Vector2 position = transform.position;
// 让 ruby 保持一致的移动速度
position.x = position.x + 0.1f * horizontal * Time.deltaTime;
position.y = position.y + 0.1f * vertical * Time.deltaTime;
transform.position = position;
说明:0.1f * horizontal * Time.deltaTime
0.1f 就是 ruby 的速度
horizontal 表示方向矢量,表示移动的方向(1 向右 -1 向左)
Time.deltaTime 表示每帧运行的时间
三者的乘积即表示当前帧的移动距离和方向文章来源:https://www.toymoban.com/news/detail-854920.html
现在我们可以调整 ruby 的移动速度,同时让 ruby 在不同的环境下保持一致的速度文章来源地址https://www.toymoban.com/news/detail-854920.html
到了这里,关于【学习笔记】自学Unity Day02的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!