‫欢迎回来｡
‫我希望你对一些水果的健康水果的速度｡
‫我们走吧｡
‫那又怎样？
‫我们在这个视频中的目标是产生一些果实, 这些果实将从底部产生, 并将射到我们的游戏场景或游戏视图中,
‫然后我们可以将它们切片｡
‫到目前为止我们还不能对它们进行切片, 但我们稍后可以这样做, 我们想随机地这样做｡
‫所以我们要随机生成一个水果, 并且在时间上有一个随机的距离｡
‫因此, 它不应该在完全相同的时间量后创建｡
‫我们来为此创建一个新脚本, 并将其命名为spanner, 因为这就是它的名称.
‫这将是一个扳手｡
‫所以我们打开它｡
‫这里我们不需要update方法, 但是我们需要几个变量｡
‫首先, 我们需要一个游戏对象｡
‫所以公共游戏对象和那一个会被果实给产卵｡
‫所以我们想要产卵的水果, 可以是橙子, 也可以是香蕉等等｡
‫我们想知道我们应该种哪种水果｡
‫然后我们想知道在不同的水果之间我们希望有多少时间｡
‫所以它应该是, 比方说, 在3｡ 3和1秒｡
‫我们来创建一个float min weight, 它应该是0｡ 3秒和公众彩车最大重量｡
‫所以我们需要等待水果的最大时间应该是1/2｡
‫如果我们这样做, 我们可以很容易地在统一中添加它｡
‫这样我们就可以做到这一点｡
‫现在在START方法中, 我想开始一个例程, 在我们这里的这个特定时间之后, 它将不断地创造果实｡
‫为了做到这一点, 我们需要使用启动代码例程方法, 启动代码例程｡
‫正如你在这里看到的, START代码例程需要一个AI枚举器｡
‫为了启动任何东西, 我们也可以启动一个方法, 或者用一个对象启动一个方法｡
‫但我们真正想要的是这个｡
‫需要AI枚举数的第一个重载｡
‫因此, 启动代码例程当然现在需要一个枚举器｡
‫现在我们把它注释掉, 然后创建AI枚举器｡
‫为了做到这一点, 我们需要创建一个方法, 它将返回一个AI枚举器,
‫它支持在非泛型集合上的简单迭代｡
‫因此, 这将允许我们做的是做好事情, 多次调用这个方法和一个启动代码例程, 让我们继续下去,
‫并产生结果｡
‫这就是我要调用它的方法, 当它为真时, 我要检查它.
‫所以只要这个代码例程在运行, 我就想产生果实｡
‫所以在这里我想做的是在这个狂野的循环中产生回报｡
‫所以这还不是我们用过的基本return语句｡
‫这是一个yield返回值, 你可以用它来表示新的等待4秒｡
‫所以如果你想在一段时间后做一些事情, 你可以使用这个枚举数和yield return｡
‫稍等一下, 我希望它是一个介于最小重量和最大重量之间的随机值.
‫现在我在这里要做的就是简单地调试日志和水果, 得到更多的水果, 得到繁殖｡
‫好吧, 我会的
‫比如说这个脚本, 实际上我们需要在代码例程中调用spawn fruit｡
‫当然可以了｡
‫所以结出果实｡
‫现在一切都解决了｡
‫让我们再次保存脚本并返回到Unity｡
‫好了, 在这里, 我们创建一个新的空对象｡
‫我就跟那个扳手｡
‫我们把这里的橘子都扔掉吧｡
‫而这正是博纳的领先对象, 当然, 需要一个组件｡
‫让我们在这里搜索一个叫Boehner的脚本｡
‫正如你所看到的, 我们可以随时改变最大重量中的最小重量｡
‫现在, 要产卵的果实, 当然是产卵的果实, 或者我们想产卵的果实｡
‫在我们的例子中, 它是我们的橙子｡
‫所以让我们去赞助商那里, 把我们的橙子拖到这里来产卵｡
‫现在让我们开始吧｡
‫所以现在唯一会发生的就是, 当然, 它会进入我们的控制台, 你可以看到水果被繁殖出来, 五,
‫六, 七, 八｡
‫所以不断地有果实被孕育出来｡
‫这很好｡
‫但当然, 我们还没有看到太多, 我们需要改变这一点｡
‫好吧, 我会的
‫所以我们可以从这里产卵, 它有一个特定的位置, 如你所见｡
‫好吧, 它在这里｡
‫你看不太清楚｡
‫所以让我们添加一个小控件｡
‫因此, 在右侧, 扳手名称旁边, 您可以选择添加一个“查找”｡
‫你们可以看到, 现在我有了这个让我们用这个紫色｡
‫这就是扳手｡
‫这只是一个小发明, 它可以让我看到一个物体在哪里, 即使它在游戏中是不可见的｡
‫所以它没有任何精灵或任何动画或类似的东西｡
‫没有匹配的, 没有类似的东西｡
‫现在只有这个小发明, 它会告诉我它在我的游戏视图中的位置｡
‫所以这是目前它所在的地方｡
‫让我们把它拖慢一点｡
‫实际上, 让我们先定位或重置它｡
‫所以它会在000点, 我只需要调用spawn或者.
‫或衍生出戏剧｡
‫这就是它要产卵的地方｡
‫现在让我们复制那个产卵的地方, 并把它拖到一边一点点｡
‫让我们再复制一次, 再一次, 把它也拖到一边｡
‫所以现在我们有了关于位置的三个指针｡
‫先别担心这个
‫我们稍后会查看｡
‫我们会在正确的位置上四处寻找, 找到适合它的完美位置｡
‫现在关于两个产卵的地方是在一边｡
‫所以产卵的地方也一样｡
‫而我的情况是第一个｡
‫在你的情况下, 它可能是不同的, 但在这里决定的不应该简单地拍摄到顶部｡
‫他们应该稍微向中心射击｡
‫所以我们需要轮换他们｡
‫我们可以这样旋转它们, 所以我会这样旋转, 或者我可以简单地在这里加上这个值｡
‫所以我会说旋转30度, 我会产生+2｡
‫在我的例子中, Z值应该是-30｡
‫所以现在两者都要旋转一点｡
‫好吧, 我会的
‫那么接下来｡
‫现在让我们回到我们的脚本｡
‫现在我们有了这个——在我们的产卵果实中, 我们将需要有不同的产卵地点｡
‫产卵应该知道产卵的地方｡
‫我们来创建一个转换数组, 它是我们的产卵位置｡
‫现在在我们的spawn fruit中, 我们不仅要调试, 而且要转换所创建的fruit的位置｡
‫因此, 变换t是在随机范围的位置上的出生位置, 并且它应该是在零和出生位置点长度之间的随机位置｡
‫这就意味着不管我们创造了多少个产卵点, 我们只想把我们创造的果实的位置随机分配给这些产卵点.
‫所以这意味着它将在第一个产卵地, 第二个, 第三个等等｡
‫所以不管我们分配多少, 这就是我们所说的spawn places, 点长度｡
‫这就是我们要选择的产卵地｡
‫它的索引是, 现在我们创建一个游戏对象, 也就是我们的果实, 然后实例化它,
‫我们要实例化要产卵的果实.
‫我们想要在T的位置生成的结果,
‫来自我们刚刚创建的变换变量, t点位置和DT点旋转｡
‫好吧, 我们回团结公司去看看.
‫所以现在应该是那些合作伙伴, 实际上, 我们还没有分配这些点, 我们也没有赞助商了,
‫所以让我们改变一下｡
‫好吧, 我知道了
‫所以我删除的那个, 它是空的.
‫现在, 让我们在此处添加组件脚本｡
‫而且是赞助商｡
‫现在我们需要水果来产卵｡
‫就像我说的, 我们还是从橙子开始｡
‫接下来我们需要产卵的地方｡
‫所以我们需要分配我们有多少产卵的地方｡
‫现在我们有三个不同的产卵地｡
‫我将把不同的产卵地拖到我的脚本中｡
‫好吧, 我会的
‫现在让我们开始游戏, 看看会发生什么.
‫正如你现在所看到的, 我们在游戏中随机得到水果｡
‫现在你在这张图上看不到什么｡
‫所以, 让我们停止, 最大限度地发挥｡
‫让我们看看如果我们从这里开始会发生什么｡
‫正如你所看到的, 我们创建了橙子, 我们将创建很多很多橙子, 因为我们从不删除它们｡
‫到目前为止, 我们从来没有摆脱那些｡
‫这是我们必须处理的事情｡
‫当然可以了｡
‫当然, 我们也需要改变他们射击的方向｡
‫所以现在它们只是落下来, 没有任何力量施加在它们身上, 让它们飞到空中｡
‫所以这就是我们想要改变的｡
‫所以让我们开始吧｡
‫让我们在水果上施加一点力｡
‫以及我们如何做到这一点｡
‫当我们把刚体的分量, 放到水果的DX上, 然后施加一个力时, 我们怎么做呢？
‫因此, 增加力, 我们有两个不同的过载｡
‫我们要用这里的一个, 力和模态｡
‫所以我们要施加的力是, 乘以10｡
‫这就是我在这里赋值的值｡
‫然后将强制模式改为｡
‫所以我们想要让它们上升的方式是冲量｡
‫所以对于小成来说其实是那样的冲动｡
‫好吧, 我会的
‫让我们保存脚本并返回到Unity｡
‫看看会发生什么｡
‫如你所见, 它们被击中, 然后互相撞击, 然后再次倒下｡
‫现在, 他们没有的是旋转, 所以我不喜欢｡
‫让我们来看看不同的地方｡
‫现在当然我们的产卵地将需要产卵或脚本了｡
‫因此, 让我们从我们的产卵地去掉移除组件｡
‫好吧, 我会的
‫所以让我们把这里的卵也去掉｡
‫好了, 现在让我们尽快解决我们有无限的水果的问题, 这样至少我们不会在一段时间后破坏水果｡
‫那就这么办吧｡
‫所以这里我们只说5秒后消灭水果｡
‫所以我们在这里实例化的游戏对象, 我们要在5秒后销毁它｡
‫所以它一飞起来就掉下来了｡
‫所以毁了它也没关系｡
‫让我们来看看这里｡
‫所发生的是将产卵, 然后他们将被摧毁后, 几秒钟｡
‫所以我们有五, 六, 七, 八｡
‫如你所见, 橘子又被破坏了｡
‫那就好｡
‫我们轮换他们还是不行｡
‫所以力的方向是我们旋转产卵位置的方向｡
‫让我们来看看｡
‫而失踪的轮换与一件事有关｡
‫让我们回到我们的代码, 这里我们要做的是, 把某个东西向上变换10倍, 在这个例子中,
‫我们要把脚本向上变换, 这样我们就给旋转体本身加上了一个力｡
‫然而, 我们真正想要的是改造我们的水果｡
‫我们要加上来自T的力, 它来自于我们的变换位置, 来自于我们的产卵位置｡
‫所以我们不想让它来自我们的产卵或它本身, 而是来自我们的产卵地｡
‫而且我们的产卵地有特定的循环｡
‫现在让我们重新开始, 看看我们的水果是如何飞向不同的方向的｡
‫如你所见, 它们飞向不同的方向｡
‫让我们来看看｡
‫我已经在这里处理了这些值, 所以这个应该是30, 那个应该是-30｡
‫我们可以用一个产卵的地方在中心与零｡
‫现在让我们再来一次｡
‫你会看到它们会飞向不同的方向, 现在它们甚至可以互相接触｡
‫但我们稍后也会处理这个问题｡
‫现在, 我们需要改变的是我们的产卵位置, 因为目前它们都有点太高了｡
‫所以我们把它们都移到-5左右, 或者我们现在就输入-5｡
‫接下来, 我想改变它们被射击的力量｡
‫那么我们来看看它们目前是如何产卵的｡
‫所以如你所见, 他们勉强到达中心｡
‫所以让我们改变这一点｡
‫为了做到这一点, 我们需要改变变换｡
‫所以现在是10｡
‫但我们可以有一个随机的力量, 他们被击中｡
‫我们再创建两个变量, 比如说, 公共浮点主作用力为12,
‫公共浮点最大作用力为17｡
‫所以这些只是我在玩的值｡
‫现在让我们乘以随机范围, 最小力和最大力｡
‫它会给予我们一个随机值, 然后我们会在12到17之间, 随机地增加力,
‫我们可以在这里的设置中很容易地调整这个值.
‫所以在我们的后代中我们将能够改变这一点｡
‫所以你可以看到最小力和最大力｡
‫我们开始吧｡
‫然后我们可以直接检验这是否是好的价值｡
‫如你所见, 它们会飞起来, 也许我们还可以更进一步, 最小力为15,
‫最大力为25, 然后你会看到它们会完全飞出屏幕, 然后再掉下来｡
‫所以也许12和17毕竟是个好值｡
‫好吧, 我会的
‫所以这就是斯普纳夫妇的事｡
‫事实上, 我们仍然可以切片我们的水果, 所以让我们产卵一些和切片他们｡
‫如您所见, 如果场景中有多个, 我们仍然可以对其进行切片｡
‫当然, 我们想用鼠标而不是键盘来完成｡
‫好极了｡
‫在下一个视频中, 我们将了解一下刀片式服务器｡
‫所以我们要创造出刀刃｡
‫你看, 你看
‫到时候见｡