笨木头  2018-06-27 17:09     Game Framework     阅读(6435)     评论(0)
转载请注明,原文地址: http://www.benmutou.com/archives/2662
文章来源:笨木头与游戏开发
虽然这是一个很简单的游戏,但,功能还是不少的,起码是一个能正常玩的游戏了。

本游戏包含以下功能:

1.场景切换

带Loading功能,目前Loading只是加载了一个LoadingUI,大家可以自行修改这个UI,不过,目前不支持进度条;

2.从配置文件读取并加载实体

GF自带,没什么好说的

3.状态机

使用的是框架的状态机功能,用于控制角色的站立、行走、攻击、受伤等状态,使用的是并发状态机(一个角色用多个状态机控制)、分层状态机(状态继承)。

这部分写得比较烂,因为目前状态很少(没有任何buff状态),运行起来还算正常。后续状态增加之后,我再努力优化这部分代码,也期待朋友们的Pull Request。

4.怪物生成器

游戏的核心功能之一,因为本游戏的怪物是随着时间的推移而出场的,所以写了一个生成器。

支持创建多个生成器,生成器参数通过配置文件(MonsterCreater.csv)进行配置:https://github.com/mutouzdl/GF_JustOneLevel/blob/master/Assets/GF_JustOneLevel/DataTables/MonsterCreater.csv

5.武器

这是顺着GF框架的starforce项目的武器来做的,武器分为三类:自动触发、手动触发、技能触发。

自动触发类似与飞机游戏那种子弹,目前还没有添加这种武器,但是逻辑是支持的;

手动触发就是玩家点击攻击按钮时触发的武器;

技能触发就是玩家点击技能按钮时触发的武器。

手动触发类型的武器能配置多个(比如点击攻击按钮后,5个武器同时发射)。

主角的武器会自动绑定到操作界面,根据武器类型和数量,生成对应的按钮,操作界面是UIPlayerOperate。

6.攻击和技能

本游戏的所有攻击、技能都使用【武器】来实现,武器通过子弹来展现。

如近战攻击,配置了一个透明的、碰撞范围较大的、速度为0的子弹,这样角色在攻击的时候看起来就是近战的;

如远程攻击,配置一个正常的、有速度的、加上特效的子弹,这个就是子弹的正常功能了;

如魔法攻击,配置一个远程子弹,并且加上魔力消耗,就变成了技能了。

目前在子弹特效这部分做的比较差,比如目前有粒子特效和激光射线两种特殊效果的子弹,都放在一个BulletEffect里处理了。同样是未来优化,以及,非常渴望Pull Request。

7.魔力泉

也是本游戏的核心功能之一,游戏中有三处魔力泉,玩家角色进入魔力泉后,每隔一定时间就会收到一些影响(如掉血后加攻击、产生克隆英雄等)。

魔力泉没有什么特别的技术,就是碰撞加定时处理逻辑。

8.移动控制器

支持不同类型的移动控制器,实现IMoveController接口即可,怪物的移动AI也是通过移动控制器来实现的。

9.其他小功能

以上就是我能想到的值得一提的功能了,剩下的都是些小东西:对话确认框、死亡后花金币续命、杀死怪物后吸收怪物部分属性、怪物在短时间内受到三次攻击后会往后弹一段距离。
0 条评论
发表评论
粤ICP备16043700号

本博客基于 BlazorAnt Design Blazor 开发