00:00
诶,大家好,那我们说要给我们这个地图当中呢,生成这个怪物,OK,生成一定数量的这个虫子,OK,那我们再开始呢,我们就要这呢,我们就写一个什么F2,就写一个m a manager OK,我们用来做成一个什么管理者。OK,这个manager呢,我们也可以给它ET重置啊,重置为零这个单位,OK,那我们在这呢,给它来一个什么,来一个我们的这怪物,那我们这准确来说叫FLY,什么FFLYY,这个我们就叫f flyy spawn啊,SP啊,OK,那我们说呃,这样一个东西主要是用来做什么呢?主要是用来生成我们这个flag,那我们说生成一定数量的flag。那我们打开这个里头,我们进行设置。那首先一点,既然我们要生成这个FLY,那我们就要先拿到,是不是拿到这个预制物来进行生成啊,所以说我们通过field,我们通过private,那我们有一个game叫什么ly OK。
01:01
OK,那我们说FLY叫什么?P fas perfect OK,我们把perfect放到这就可以了。然后我们在这呢,我们还需要什么,我们需要一个生成的个数啊,生成的个数啊,我们怎么生成的个数呢?那我们也是一个float。那我们就就是一个什么FLY什么。那我们说甚至15个。那么生成,那在哪个范围之内生成呢?所以说我们这呢,还需要一个什么生成区啊,生成区啊生成区,那我们这呢,也是一个plan,那我们说也是一个什么。那flu,我们就有一个什么FLYFLY,什么AA啊,AA就等于什么25。就深沉区域呢,大概在我们这儿呢,其实说我们这个宽度啊,还有我们这个。啊,稍等啊,我们这个宽度啊,我们这个整体的这个宽度,大概就是25的这样一个距离,25的这样一个距离,所以说我在这呢,我就直接写了一个25的距离,OK,那我们说还有一个什么叫private,我们叫。
02:02
那我们说有一个什么,有一个总个数,这叫什么生成啊叫什么,呃,苍蝇总个数啊,苍蝇总个数,那我们说这呢,有一个什么苍蝇实际什么个数啊,苍蝇实际个数,那我们在这呢,我们就要写一个什么,就要我们叫FFLYFFLYY,什么FLY,呃出。啊,出Co出我们这个出Co,我们暂时不给它赋值不改。然后我们这儿呢,我们就开始对它进行设置了,那我们首先我们要什么,我们要写一个什么,Well。不要什么东西呢,FLYFLYFLYFLY什么,Fly to cut啊,Fly to cut fly to cut什么,诶如果它大于等于什么,我们的这个。Flyout就是大于我们的总个数,如果我们实际生成的个数大于等于我们的总个数,那我们这个时候呢,我们就什么哎,就是well,我们FLY出out,诶必须得什么,必须得小于。
03:01
小于什么小于等于flyout就是我们的这个什么这个实际生成的个数要小于等于我们的out,我们这个will循环呢,会持续进去啊,然后我们说一开始是不是我们这个是不是一开始就是零啊,零是不是小于等于,是不是就进来,进来我们是不是就开始进行实例化instant什么东西啊,是不是就是我们的LY。Pre re type,那么这位置信息在哪啊?位置信息这里头我们是不是要给他一个位置信息,那么说位置信息是不是就是我们的,是不是我们要给它生成一个位置信息,那如何生成一个位置信息呢?是不是一个position啊,OK,那我们在这呢,是不是没有这个position啊,所以说我们在这呢,应该是写一个什么生成的,生成的什么生成的地点啊,生成的地点,而且这个地点是不是应该是随机的,OK,所以说我们在这呢写一个什么private。我们在这啊,稍等啊,我们在这写个什么p private。OK private,我们在这写一个什么vector three啊,VE three,我们这儿呢,就写一个什么,就写一个r do random,什么po啊,Po position position。
04:06
那么说直接把这个random position是不是直接放到这就可以了?那random后边是不是需要一个元数啊,那我们直接写一个identity啊就可以了。啊,那我们说position等于什么东西呢?Random position等于什么东西呢?那我们说在这啊,在当中呢,我们就要对这个random position进行一些实际的操作,那我们在这呢,首先一点我们说诶,那我们说这呢,我们说random position啊,Random position就等于什么,是不是你有一个啊,然后你有一个,我们在这头是不是要一个什么,是不是需要XYZ3个轴啊,那我们说怎如何获取我们的X轴呢?我们的X就是一个什么,Float float是不是random。In do do啊,Do random是不是X啊,就等于什么,是不是就等于new一个什么,是不是就等于我们的random啊,我们已经学过这个东西了,Random range OK。啊,Random我们在这里头给一个什么呢?就给我们一个food的什么food的FLY,什么fly OK,那到一个什么fly OK,这是我们的random,那我们说是不是还需要一个Z呀,我们在这儿CTRLC再给一个什么,该给一个Z啊,再给一个Z,再给啊Z的话,我这呢,因为我这截图是大写Z啊。
05:18
很那啊很那个OK行了,那random也是它OK,那我们在这呢,我们直接就是什么什么东西啊,就是我们的这个random。Random X,那我们说Y轴我们先给零是吧,我们random z OK,那你想想啊,这呢,我们其实啊这呢,我们说先给一个零,那我们在这的话,是不是直接就是random这就OK了,对吧?然后我们在这呢,就说生成的地点,那我们说生成的地点完了之后,我们应该在生成的地点上面是不是有个随机的什么。是不是随机啊,随机的XZX,然后我的Z又是又是这个截屏。哎,是不是XZ,随机的XZ什么点吧,OK,那我们说随机的XZ点,我们就是用private什么东西,Float float什么,我们就写一个random。
06:08
Random什么random X,那这的话我们就把这个float给删了好吧,所以说我们这就写这样一个random X,那我们说除了random X之外还有什么东西啊,是不是还有我们的Z啊,我们直接把这个看成C啊,看成V啊。一粘一换它就OK了。然后这呢,我们直接就说直接进行随机吧,所以说我们在这呢,就每一次都能拿到随机的啊。每次都拿随机的OK,然后在这里头呢,我们其实可以把这个也放到这里头,放到这里啊,随机值啊去进行啊,进行设置OK。那我们在这呢,我们直接在这个manager里头,我们把这个FLY啊FLY啊,就这个直接放到这啊,我们直接运行一下。运行一下,我们就发现我们这个。啊,我们这个项目当中啊,进入多了很多,我们这个来稍等啊,还没运行起来。
07:05
哎,怎么会这么卡。可能呃,程序可能会崩掉啊。好,我还少做了一步操作,我是不是这个。这个是不是要加加呀,是不是要每一次进来是不是都让它的数值增加一呀,要不然的话,我们这个是不是永远小于零,小于零是不是永远就是负循环啊,所以我的程序就卡死了,所以说我在这看就X。我把它关一,我把我这个关一下啊,我的这个Unity edit结束任务啊,程序卡死了啊,我直接打开UN啊。啊,打开运气啊,刚才我们就是就是卡死的状态啊,就是它会一直生成我们的这个什么,会生成我们的这个小苍蝇啊,所以说我们在这啊。啊,Well就是什么well,它小于这个东西,然后我们的control是不是要一直加呀,所以说我看一下启动。这个时候就可以了,我们一定要写一个加加啊,写一个加加。啊哎,我的manager是不是又丢了,哎哟,我的妈呀,我的manager丢了啊,所以说我在这呢,再写一个什么manager。
08:00
Manager啊,刚才我的电脑卡死了,所以说我在这是不是fly SPA OK,我们把这个放进去OK可以了啊,我们在保存下一定要CTRLS保存一下场景,OK,启动。是不是生成了15只啊,但是生成的这个东西你看是不是在地下。哎,在地下怎么办?对不对,在地下怎么办?那我们这个时候呢,我们其实啊,我们其实就应该在这把这操作一下,这你想我们的Y轴是不是要向上抬两个两位啊,我们看启动一下。来打开这个,这个是不是,如果我们把它的Y轴是不是改成一个二,是不是它就到地面上来了,那这个东西是不是也改成二,所以说我们应该是什么,应该是在它,在它实例画什么,这应该是什么,是不是实例,这是不是呃。创造其实啊,其实这应该是叫实例化苍蝇啊,实例实例化苍蝇啊,但是我们没学过的同学呢,可能你就这样理解吧,就说创造了,创造了苍蝇啊,创造了苍蝇,创造了苍蝇呢,就是说哎,还给了他一个是不是random随机的什么随机的这样一个,呃,随机的点啊随的点这里头呢,我们应该把这个Y轴啊,就永远让它都排成一个两个单位,这个时候我们启动。
09:13
啊,你看我们这个时候,你看我们这个时候,我们这些什么这些这些东西都都可以出现了啊,都可以出现了,然后我们这个你看就非常的OK,对不对,非常的OK啊,非常的OK。然后我们这个FLYFLY这里是不是脚本也丢了,对吧,我们刚才是不是在这个里头写过什么脚本啊,是不是写过一个destroy呀,Destroy me吧,还记得吗?De destroy me,是不是destroy me,让它几秒之后消失吧,OK。一定要记得这个脚本啊,记得这个脚本就可以了,来我们启动一下,刚才是因为我没有保存场景啊,所以说东西就丢了啊,东西丢了来我们看一下。是不是这几个东西是不是慢慢就没了,OK,然后这呢,还爆了一个什么,还爆了一个警告,我们看一下爆了一个警告,他说什么,他说呃,如果苍蝇被青蛙碰到了,我们这用fly OK transform.position啊就说嗯,当然我们这的原因啊,这的原因呢,其实很简单。
10:08
呃,我们在这的话呢,其实呃,我们每一次操作的时候呢,我们在这destroy game object啊object,其实我们呃就呃也可以啊也可以可以。就转给我们家也可以啊,我们再试一下可以啊,可以试一下。OK,看清楚我们销毁了刚才的那个对象,也就是说我们fly control这里头呢,这个FLY啊,我们就你看我们在这是不是每一次,你看每一次。我们先把这个。苍蝇啊,苍蝇就足够我们吃了,OK,可以啊,我们这儿只出现了一次,只出现了一次啊,呃,没有出现两次,OK,那这个是什么原因呢?这个呢,就是我们应该把这个东西给什么给它删掉,删掉之后我们就不会再有这个问题了,就这个问题再也不会有了,再删,删除就不会有了。
11:04
就是我们那一开始是不是我们创建了一个这个苍蝇,不是做来做展示的嘛啊,现在我们就不需要了,因为我们现在已经有了什么怪物池了啊,怪物池不需要了啊,所以说现在呢,就把之前那个FLY给它删了就可以了啊来删了,但是在删FLY的时候,我们说过这个东西你既然拖到我的面板上,你是不是一定要apply下,所以说一定要注意啊,把它就把它delete啊。然后这个manager也就做完了啊,我们这个manager做完了,这里头呢,这功能呢,就就说这么多啊,就说这么多,然后我们这,然后还有一点就是说我们每一次这个。这个这个靠的是不是永远不会减啊,我们说每一次destroy me,我们说在我们这个fly destroy的时候,是不是碰到青蛙的时候,是不是我们应该对这个数值进行减一啊,每一次碰到青蛙是不是数值应该减一,那么说怎么让数值减一呢?就是说在这里头啊,我们说每一次碰到青蛙啊,首先这里应该是什么。让什么让怪物?
12:02
数量。减减啊,减一啊,减一啊,然后怪物数量减一,那怎么让怪物数量减一呢?也就是让让苍蝇数量减一,每一次听到青蛙苍蝇数量是不是都要减一啊,OK,那我们怎么让它减一呢?在这里头我们可以对这个什么,我们这有个参与的总个数,看到了吗?是不是还有个实际的个数啊,实际个数我们可以这样,我们可以写一个什么,写个public。啊,我们叫啊,我们在这个,呃,在这里头呢,怎么让才能出来呢,我们这直接写个什么。嗯。I felt we。啊,FLY,我们叫spot点,我们这里头有个什么,有个个数。用出什么减减。每一次要让苍蝇的实际的数量减一啊,实际的数量减一不是让它总个数减一,是让它实际的数量减一啊OK,这里呢就做完了啊做下面呢,这个是什么?这个是不是是是不是。
13:09
碰到青蛙。熊啊,是不是实例化特效。实例化特效其实就是创建特效啊,就是创建特效啊,就是实例化就是创建的意思啊,这个教就是什么啊,销毁当前的什么当前的苍蝇啊,当前的苍蝇啊,因为销毁当前的game价,因为我们的这个game其实就是我们的苍蝇,所以说这搞定了啊,我们这就讲到这。
我来说两句