【校园生活】0基础记录游戏开发#5


3楼猫 发布时间:2024-01-13 13:15:29 作者:依卞 Language

实话实说今早有事出去了导致画画搁置了所以今天你们的眼睛有福啦

今天没有辣眼睛的环节


坏消息是今天你们可能会长脑子了O.o?

【校园生活】0基础记录游戏开发#5-第0张

继承上一篇我们讲到怪物的行动逻辑,先给他八个方向都做出动画再用这个熟悉的树把他们连接上,让怪物有不同的“外观” 

【校园生活】0基础记录游戏开发#5-第1张

放置一个怪物在这,可爱捏

然后开始处理怪物的“内核”也就是脚本的过程,我们只需要给他写一套最简单的行动逻辑,即水平或者垂直移动(那为什么要做八个方向的动画啊)在一定时间后反方向移动,形成巡逻的动作行为

【校园生活】0基础记录游戏开发#5-第2张

怪物的行动逻辑

为了让游戏开始的时候游戏画面能一直跟着我们的主角走(因为不设置的话游戏画面会固定 导致我们会走到画面外边去自己还看不见),于是我们这里需要用到一个插件cinemachine,follow框选择我们游戏主角

【校园生活】0基础记录游戏开发#5-第3张

镜头跟随

【校园生活】0基础记录游戏开发#5-第4张

其实以上的“子镜头”都由这个“镜头大脑”管理,所以就算有多镜头也不会乱

当然最重头戏的还是战斗画面,游戏的主要玩法之一便是与他人的战斗,怪物的设计目的也正是如此。

【校园生活】0基础记录游戏开发#5-第5张

战斗场面

上面是一个战斗画面的最终效果展示,可以清楚看出战斗场面与我们平时探索的地图并不是同一张,这种类似于“第二模式”的情况其实全是由UI来架构的。所谓UI简单来看就是画面和按钮文字等可见组件的集合体,上一篇中我们用UI绘制了主角的头像,血条,蓝条和名字等基本信息

【校园生活】0基础记录游戏开发#5-第6张

基本信息

那么运用同样的UI贴图方式就可以构建出这一整个战斗场景,同样的,我们需要给战斗模式下的主角和怪物赋予不同的战斗动画。由于游戏画面只有一个(主镜头只有一个)且必须跟随主角移动,所以为了发生“触发”战斗这一模式达成两种模式互换的需求,可以将战斗场景包装成一个文件夹中在主镜头下直接隐藏起来当条件满足(碰到怪物)时,我们再把战斗场景的可见开关“打开” 于是就达成了随时随地战斗 爽!的场景

当然场景现在也只是一个表皮,说到底UI也只不过是几张贴图罢了,真正实现这个场景的“可战斗化”的还是“脚本”内核

为了满足战斗的需求,我们需要将每一个可视化UI都当做具体命令去设置和定义

【校园生活】0基础记录游戏开发#5-第7张

战斗场景UI界面

比如对上述的“攻击”和“防御”等“按钮”进行相应。“按钮”是一种特殊的UI,具有最简单的交互功能,比如点击即可触发某一条件,这一条件可以通过编程来实现自定义

【校园生活】0基础记录游戏开发#5-第8张

攻击

上述是一个“攻击”回合所需要的一部分代码,在提前制定好移动,攻击,返回等所需要的动画效果后,在代码中实现他们的触发条件,用代码把按钮和动画彻底相连,达成一个最终的“攻击”效果(其实这部分挺像红石电路,按钮就是提供红石信号的开关,代码是红石本身,而动画是一个个红石相应机器,三者结合在一起才能做出一个个令人叹为观止的红石建筑)

【校园生活】0基础记录游戏开发#5-第9张

通过UI和自定义血量的结合,实现血条的变动,可视化主角的扣血和回血行为。

【校园生活】0基础记录游戏开发#5-第10张

扣血/回血,扣蓝/回蓝

结合起来后便是一个简单的战斗系统(激情对碰),当然需要设置当敌方或者主角血条空了以后会出现的“死亡”状态。

【校园生活】0基础记录游戏开发#5-第11张

死亡

(其实我死亡动画忘记关循环播放了导致主角这个时候不像死亡而是不断向怪物磕头饶命)

【校园生活】0基础记录游戏开发#5-第12张

循环播放

初次之外的治疗和技能动画如法炮制,只是需要多几个动画,并且需要设计好技能和治疗的数值关系,避免出现无敌的情况

【校园生活】0基础记录游戏开发#5-第13张

治疗按钮设置

【校园生活】0基础记录游戏开发#5-第14张

对于技能释放的判定

是的没错我把血条当做判定条件了我反复测了好几次还在想我的主角为什么残血就放不了技能了,吸血鬼后裔吗?

【校园生活】0基础记录游戏开发#5-第15张

战斗场景的UI与代码链接

如上,战斗场景部分也差不多就是学到这里了,后面便是剧情,任务系统之类的内容,我还没有学到,但是提前看了一点点的课

【校园生活】0基础记录游戏开发#5-第16张

剧情方面

柚子厨真的是


很感谢能看到这里,估计坚持到这也累了,欢迎大家在评论区里面吐槽讨论相互学习,有什么问题可以直接提出来,楼主会查看仅剩的脑容量给大家分享自己的看法的


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com