‫你好, 欢迎｡
‫在这节课中, 我们将使用移动平台｡
‫我们实际上是要通过理解游戏循环以及C++中的tick函数与它的关系来推动这个平台｡
‫让我们深入了解一下｡
‫到目前为止, 我们一直忽略了这个函数, tick函数｡
‫我们已经把一切都放在开始发挥, 因为这是我们已经在蓝图之前使用｡
‫但让我们稍微了解一下这个tick函数｡
‫要理解tick, 我们需要理解游戏循环的概念, 这是大多数游戏引擎构建引擎的方式｡
‫它的工作方式是, 首先, 游戏引擎会从玩家那里获取输入｡
‫所以无论当前发生了什么, 无论是按下空格键还是W键,
‫无论鼠标移动了一点点, 无论鼠标按钮是按下的, 所有这些都将被游戏引擎接收并处理｡
‫那么接下来的事情就是信息将被用来更新游戏状态｡
‫也许球员会向前移动一点, 也许一个球会反弹,
‫所有这些东西都会被计算出来, 物理引擎会运行, 所有这些我们在以前的比赛中看到的伟大的东西｡
‫第三步, 游戏引擎会根据游戏状态显示,
‫玩家在这里, 摄像机在这里, 球在那里, 然后将其呈现到显示器上｡
‫它会把它从一组数字变成一个图像显示在你的屏幕上｡
‫现在, 该图像被称为帧, 帧是构成视频的一系列图片中的单个图片｡
‫现在, 您的计算机可能每秒能够渲染很多帧, 也可能渲染更少的帧｡
‫但这被称为帧速率｡
‫您的计算机每秒可以通过游戏循环多少帧？
‫它处理输入､ 更新状态和呈现状态的频率是多少？
‫这是每秒的帧数, 在虚幻中, 我们使用tick函数来帮助我们执行游戏循环的中间步骤,
‫以帮助我们更新游戏的状态｡
‫它是一个函数, 每个帧都会调用它, 它存在于蓝图和事件中｡
‫所以你得到了滴答事件, 它基本上允许你做一些事情来更新你的游戏每一帧｡
‫在我们的例子中, 我们要做的是让它移动我们的平台｡
‫那么我们该怎么做呢？
‫如果我们把演员的位置开始播放的位置移走,
‫然后用tick来更新, 这在一开始不会有太大的效果, 因为我们会不断地把位置更新到相同的位置.
‫如果我们设置演员位置, 我的向量, 然后是分号, 这只是每一帧, 每一次迭代,
‫通过游戏循环｡
‫这只会把演员放在同一个地方｡
‫然而, 有趣的是, 如果我们更新向量中的值｡
‫所以我们可以说向量z等于向量z加1｡
‫所以我们现在要做的就是取向量Z的值｡
‫我们把它加1, 然后我们把整个结果放回向量z中.
‫所以每次我们通过这个游戏循环, tick被unreal引擎调用的时候, 我的向量z应该增加1.
‫让我们看看结果是什么｡
‫我们进入Unreal, 点击编译按钮, 然后点击播放｡
‫我们应该看到平台在上升, 飘向空中因为我增加了它的Z位置,
‫所以我让它越来越高｡
‫所以我想让你们试着改变Y而不是Z｡
‫因此, 请更改正确的代码行｡
‫你可能需要改变一些不止一个地方｡
‫调整平台立方体的大小, 使它成为一个很好的平台, 让你跳上, 看看现在更新Y而不是更新Z是否允许你跳上平台,
‫暂停视频, 并有一个去｡
‫好吧, 我会的
‫欢迎回来｡
‫因此, 让我们深入研究Visual Studio代码｡
‫我们要做的是, 让向量y等于向量y加1｡
‫所以这将是沿着Y轴而不是Z轴移动它｡
‫然后我们将每一帧的位置设置为存储在my向量变量中的结果｡
‫所以我们要回到Unreal并确保我们编译｡
‫然后, 我们将搜索移动平台的轮廓并选择它｡
‫转到详细信息窗格｡
‫在这里, 我们要双击该平台, 这样我们就可以看到它, 然后我们要将其扩展一点｡
‫我将使用缩放工具和R键, 增加Y轴和X轴的缩放比例, 并减少Z轴的缩放比例｡
‫所以我的讲台要短一点｡
‫所以我们还是保存水平击球的打法吧平台会飘到我的右边.
‫所以它也更大了, 这意味着我可以站在上面｡
‫好了
‫我们已经有了第一个游戏机制｡
‫我们有一个移动平台｡
‫我们不会在后面的课上再多讲一点｡
‫但现在, 我们已经用C++实现了一些游戏功能｡
‫我想你现在应该为自己感到骄傲｡
‫拍拍你自己的背, 我们下节课再见｡