‫你好, 欢迎｡
‫在这节课中, 我们将使用变量来记录我们有多少弹药｡
‫如果你看左上角, 你可以看到它告诉我弹药值, 每次我开枪,
‫它是减少该值｡
‫让我们深入了解一下变量是如何帮助我们做到这一点的｡
‫所以我们需要变量来记录弹药｡
‫那么我们的变量是什么呢？
‫变量帮助我们存储､ 操作和引用信息｡
‫对我们来说, 最关键的是信息的存储｡
‫所以这有点像一个盒子, 我们把它贴上弹药的标签｡
‫我们可以在里面放一个值, 比如20, 它告诉我们还剩多少弹药.
‫所以每个变量都必须有一个名字｡
‫它包含一些数据, 如数据值20, 并且关键的是, 每个变量都是特定类型的｡
‫所以在这个例子中, 弹药箱可以说是一个整数, 因为它包含整数｡
‫你不能有半个弹药, 所以它是一个整数是有道理的｡
‫现在, 我们如何在蓝图中创建一个变量？
‫因此, 让我们转到蓝图面板并关闭详细信息窗格｡
‫不知道为什么我把它打开了｡
‫我们需要的是一个不同的窗格｡
‫我将转到窗口菜单, 然后单击那里的“My Blueprint”元素｡
‫这将为我们给予一个新的窗格, 允许我们向蓝图中添加以前无法完成的任务｡
‫在这里你可以看到有一个变量部分和一个小加号按钮｡
‫现在我们单击加号按钮, 看看我们得到了什么｡
‫好吧, 我们开始明白我告诉你的了｡
‫我们必须为变量输入一个名称｡
‫我们称之为弹药｡
‫接下来, 我们有一个类型｡
‫您可以看到它默认为布尔类型, 但我们可以单击下拉菜单, 然后可以看到所有可用的类型｡
‫在我们的案子里有不少｡
‫我们只需要一个简单的整数, 现在我们该怎么做呢？
‫我们如何操作此变量中的值？
‫首先, 它有一个默认值｡
‫如果您转到详细信息窗格, 该窗格将关闭, 但它又在此处弹出｡
‫您可以看到, 它说请编译蓝图, 以便能够设置默认值｡
‫为了编译蓝图, 我们转到工具栏, 最左边的按钮称为“编译”｡
‫它有一个小问号｡
‫我点击了编译, 然后它变成了一个绿色箭头, 现在你可以看到默认值是可以设置的｡
‫所以如果我想说有20弹药开始游戏, 我可以在这里输入值20, 这将是我们开始游戏时的值｡
‫但是如果我们想更新这个, 因为我们确实想在玩游戏的过程中更新我们的弹药值, 那该怎么办呢？
‫您可以将一个变量从我的蓝图窗格拖到事件图中, 这样做时会提供两个选项｡
‫你可以选择获取弹药, 换句话说,
‫获取存储在里面的值, 或者我们可以设置弹药的值, 这样我们就可以覆盖当前的值.
‫让我们看看这两个节点的样子｡
‫顺便说一下, 你可以控制拖动一个变量来得到它, 你可以改变拖动一个变量来设置它｡
‫现在值得注意的是, 设置需要有一些执行引脚来告诉它何时覆盖, 因为它确实会造成不同, 当你覆盖将有不同的影响,
‫你的游戏, 而不要紧, 当你得到一个变量,
‫所以它没有任何执行引脚在那里｡
‫然后你会注意到关键的区别是getter只有一个输出数据引脚, setter有一个输入数据引脚,
‫这样你就可以设置不同的值｡
‫让我来告诉你们我们可以在开始游戏中得到弹药的价值｡
‫最后, 当我们完成了欢迎来到仓库废墟, 准备好隆隆作响,
‫我们可以在这里放一个新的弹药打印｡
‫所以我将拖动并创建一个新的打印字符串节点｡
‫在这里我将控制, 点击我的变量并将其拖动到场景中, 然后将弹药连接到打印字符串｡
‫它会自动添加一个小的转换节点, 这样我们就可以将给定的整数转换成所需的字符串,
‫然后点击播放｡
‫当然, 你可以看到值20被打印出来, 这意味着我们当前的弹药是我们设置的｡
‫现在我想再给你们看一块拼图它能让我们减少弹药.
‫我们要做的是, 在产生抛射体后,
‫给它一个冲量, 首先, 我们要让当前的弹药, 减去一个, 然后再把它调回来.
‫有三个步骤, 但是我们缺少的一个步骤是, 我们怎么做减法？
‫如果您右键单击事件图中的任意位置, 就可以执行此操作｡
‫只要搜索subtract, 它就会给你这个小的深度默认减法节点, 你可以把任何东西插进去｡
‫因此, 如果插入一个整数, 那么第二个引脚中也会出现一个整数｡
‫让我来挑战你们, 从变量中的值减去1.
‫所以从变量中得到弹药值, 用控制键拖动得到一个get节点,
‫然后用subtract节点减去1, 记住要放一个, 把getter放进输入管脚, 然后在另一个管脚里输入一个.
‫然后, 通过在set节点中执行alt单击并拖动, 将其重新存储到ammo变量中,
‫最后, 使用print string节点打印结果,
‫并确保所有执行引脚都按照我们刚刚描述的顺序连接起来｡
‫暂停视频, 开始体验｡
‫好吧, 我会的
‫欢迎回来｡
‫首先, 我们要控制点击以获取弹药, 然后将其插入减法节点的第一个引脚｡
‫您会注意到, 第二个引脚也变为绿色, 允许我们输入一个值｡
‫我将输入值1｡
‫所以我得到了弹药值, 减去1｡
‫所以输出是当前弹药减1｡
‫所以一开始是20, 然后是18, 等等｡ 等等｡
‫然后用它们的输出值设置弹药, 单击弹药并将其拖动进来,
‫然后将减法的输出引脚连接到集合的输入引脚｡
‫然后, 我需要连接执行引脚, 以便在添加脉冲后进行设置｡
‫然后我可以从集合中得到输出值, 如果我想的话, 或者从减法中得到输出值｡
‫这两个都是一样的, 我可以把它输入到一个打印字符串节点, 或者我不能直接把它输入到一个打印字符串节点,
‫因为它不知道我可以做这个转换｡
‫因此, 我需要引入一个打印字符串节点, 然后将set的输出引脚连接到该打印字符串的输入引脚,
‫并通过转换节点移动, 连接执行引脚｡
‫现在如果我点击播放, 你会看到我的弹药是20如果我开枪, 我的弹药会下降到19, 18,
‫17等等.
‫我可以一直拍到零, 但我可以继续下去｡
‫我可以在这里输入负数因为我的代码中没有任何东西告诉我要停下来｡
‫下节课我们会讲清楚的｡
‫我会看到你在那里｡