近期在学习RPG游戏《黑暗之光》的开发,列个总的逻辑路线和开发大纲,方便复习与检索。(更新完毕)
1.载入界面场景 https://blog.csdn.net/s1314_jhc/article/details/79601255
1.1 添加场景(环境、Camera、水面以及天空等物体的添加)
1.2 镜头拉近(控制Camera的Z轴移动和速度)
1.3 开始场景的UI界面(Sprite与素材的添加)
2.角色创建界面 https://blog.csdn.net/s1314_jhc/article/details/79649577
2.1 角色创建UI界面(Sprite的添加,其中输入框用Simple Input Field实现)
2.2 角色的创建与显示(添加两个可选角色的动画效果,通过当前角色的索引控制角色切换)
3.角色移动控制 https://blog.csdn.net/s1314_jhc/article/details/79651458
3.1 角色移动
3.1.1 点击地面效果(通过射线Ray与地面产生的碰撞点,记录碰撞点信息)
3.1.2 控制朝向 (通过碰撞点信息,调用LookAt()函数)
3.1.3 角色移动 (获取目标位置与当前位置的距离,并进行移动)
3.2 角色动画的改变(添加不同情况下的动画效果,在脚本中添加当前状态的标志位,控制不同情况下的动画播放)
3.3 相机跟随与镜头拉伸功能(获取相机与角色的偏移量,通过偏移量控制Camera的位置信息)
4.任务系统 https://blog.csdn.net/s1314_JHC/article/details/79659642
4.1 任务系统UI界面(任务NPC模型的导入与UI界面设计)
4.2 任务系统的接受与完成(初始任务描述的UI界面设计,点击接受或完成后的UI界面部分Sprite和Label的改变)
4.3 任务完成后的奖励(通过与存储角色信息的脚本进行交互,添加获得的奖励信息)
5.物品系统
(上) https://blog.csdn.net/s1314_JHC/article/details/79690154
(下)https://blog.csdn.net/s1314_JHC/article/details/79690742
5.1 各系统功能面板的创建(通过一个Invisible Widget存储状态、物品、装备、技能等系统按钮)
5.2 物品信息管理系统 (用txt存储物品信息,将物品id和其余信息info存入字典中,id作为存入和读取的索引)
5.3 物品栏的UI界面(新建网格Sprite存储物品,并根据网格信息实例化物品)
5.4 模拟拾取 (拾取过程:遍历物品栏,看是否存在该物品,若存在,num+1;不存在,查找新的网格,并实例化物品)
5.5 物品栏的显示与隐藏 (通过Unity自带的tween动画进入或离开视野)
5.6 鼠标放在物品上的信息显示(通过OnOver或者OnHoverOver判断鼠标是否在物品上,将鼠标的当前位置赋给信息显示框的Label位置,并在Update()中更新)
6.状态系统 https://blog.csdn.net/s1314_JHC/article/details/79902464
6.1 状态系统的UI界面
6.2 状态系统的访问与更改(将状态信息分为初始状态个增加状态,初始状态为角色的基础技能点,新增状态为角色的额外技能点,来自装备和升级赠送技能点数)
7.药品系统https://blog.csdn.net/s1314_JHC/article/details/79902464
7.1 药品商店的UI界面(模型导入与UI界面设计)
7.2 药品的购买(与物品栏的交互以及金币的增减)
8.装备系统 https://blog.csdn.net/s1314_JHC/article/details/79938267
8.1 装备系统的UI界面(与5.1类似,都需要一些网格控制实例化信息)
8.2 装备信息管理系统(与5.2类似,多了适用角色和适用穿戴部位)
8.3 装备信息提示(与5.6类似,多了属性的显示)
8.4 右键的穿戴功能(首先排除无法穿戴的情况,如适用角色不对或装备类型不对,之后在装备栏中实例化并更新物品栏信息。装备卸下方法类似)
8.5 装备穿戴对属性的影响(与状态界面的交互)
 
9.技能系统 https://blog.csdn.net/s1314_jhc/article/details/80000268
9.1 技能信息管理系统(见5.1,读取操作见5.2)
9.2 装备系统的UI界面(用Scroll View和Invisible Widget存储,将单个技能做成Prefab,用Grid进行技能管理)
9.3 快捷方式与技能系统的交互(借助OnDragDropRelease判断当前快捷方式的标号并添加信息)
9.4 人物等级对技能的影响(在单个技能的UI下添加一个遮蔽效果,通过当前等级与技能需求等级的大小关系显示或隐藏遮蔽效果,并决定是否禁用拖拽功能,在每次点击技能面板时调用)
10.主角状态信息界面与小地图 https://blog.csdn.net/s1314_JHC/article/details/80118360
10.1 主角状态信息界面(获取Camera下的主角Texture信息,并显示在UI中,通过layer控制Camera下的显示与隐藏)
10.2 小地图(与10.1类似)

11.装备购买、经验条以及环境碰撞器 https://blog.csdn.net/s1314_jhc/article/details/80148432

11.1 装备购买功能(结合药品商店和技能列表,通过grid动态添加)
11.2 经验条(利用Colored Progress Bar,与状态信息进行交互)

11.3 环境碰撞器(利用Cube实现)

12.怪物系统的实现 https://blog.csdn.net/s1314_JHC/article/details/80158558

12.1 怪物状态的切换(Idle, Walk, Attack, Death,通过这四个状态控制相应行动)

12.2 怪物受到攻击(扣血功能以及被击效果,被击效果通过Skinned Mesh Render实现,协程控制被击效果显示时间)
12.3 Miss效果(HUD Text插件,控制其文本和显示位置)
12.4 怪物的自动攻击(攻击状态分为普通攻击、疯狂攻击以及攻击休息间隔,根据攻击距离进行移动和攻击,并根据攻击时间切换攻击状态)

13.角色攻击系统的实现 https://blog.csdn.net/s1314_JHC/article/details/80158994

13.1 角色状态(分为行走、普通攻击和技能攻击)
13.2 攻击指针与攻击特效(特效通过在受到攻击时添加特效的prefab实现)
13.3 怪物的自动生成(设置当前怪物数量和最大数量,若当前<最大,生成怪物,并在怪物死亡时更新)
13.4 怪物死亡与状态的交互(死亡后交互:添加经验(PlayerStatus)、更新任务(BarNPC)、获取奖励(Inventory))
14.角色技能系统的实现 https://blog.csdn.net/s1314_JHC/article/details/80182485
14.1 添加技能的特效、动画属性(SkillsInfo中添加特效名称、动画名称和动画持续时间,用字典存储动画名称和动画GameObject)
14.2 回复技能(按下技能键——>设置状态为施法,此时无法移动——>播放特效并计时——>计时结束改变状态并播放动画——>回复HP/MP)
14.3 Buff技能(按下技能键——>设置状态为施法,此时无法移动——>播放特效并计时——>计时结束改变状态并播放动画——>增加对应属性并计时——>持续时间结束后还原)
14.4 单体攻击功能(按下技能键——>修改鼠标为技能锁定图标——>判断是否点击敌人(射线检测)——>设置状态为施法,此时无法移动——>播放特效并计时——>计时结束改变状态并播放动画——>造成伤害)
14.5 群体攻击技能(按下技能键——>修改鼠标为技能锁定图标——>点击一个位置——>设置状态为施法,此时无法移动——>播放特效并计时——>计时结束改变状态并播放动画——>判断技能接触单位(运用collider)——>造成伤害)

15.受攻击效果及场景切换 https://blog.csdn.net/s1314_JHC/article/details/80182891

15.1 受击效果(参考12.2)
15.2 受伤及死亡效果(受伤时调用受击BeDamaged函数并更新FaceUI的显示,死亡时进行状态切换并禁用移动、攻击等功能)
15.3 界面切换(通过PlayerPrefs.Set进行名字、所选角色的信息存储, Application.LoadLevel ()进行场景切换)

若有开发新功能时再继续更新。

RPG游戏《黑暗之光》开发总纲相关推荐

  1. 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[0]——月晕础润

    开场诗: 不儒不道又不仙,非神非圣也非贤.轻吐心头寻常语, 开辟文武一片天. 自表诗: 北冥沉渊有鲲鹏, 吞噬金乌戮真龙.一日扶摇凌天起,三千世界可横行. 小子"鹏凌三千",欲将心 ...

  2. VUE+WebPack游戏设计:欲望都市,构建类RPG游戏的开发

    本节开始,我们将基于上一个项目所学到的知识,利用createjs 和 Tween两个图形绘制库开发一款新的游戏,名为欲望都市.这个游戏具备一个特点就是2.5D,它是一种经济系统构建型游戏,开始时玩家得 ...

  3. 人生如梦游戏间,RPG游戏开源开发讲座 JAVA篇 4 ——一步莲华

    从星期一开始一直郁闷-- 最近的状况--用迷信的说法就是犯小人,以社会学的观点是由于出现人际交往困难造成社会评价降低--无比郁闷中,继续写这个-- 上一回我们写到关于如何改变角色的移动样式及线程的初步 ...

  4. 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华

    从星期一开始一直郁闷-- 最近的状况--用迷信的说法就是犯小人,以社会学的观点是由于出现人际交往困难造成社会评价降低--无比郁闷中,继续写这个-- 上一回我们写到关于如何改变角色的移动样式及线程的初步 ...

  5. 【转】人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[4]——一步莲华

    来源:http://blog.csdn.net/cping1982/article/details/1747703 从星期一开始一直郁闷-- 最近的状况--用迷信的说法就是犯小人,以社会学的观点是由于 ...

  6. 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[3]——邯郸学步

    书接前文,事表上回.话说上回书提到"画面闪烁问题和角色动作的变更"是目前我们所面临的两大难点之一,本次,将就解决画面闪烁的前提条件--角色动作变更,也即"动画" ...

  7. 【转载】人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[3]——邯郸学步

    书接前文,事表上回.话说上回书提到"画面闪烁问题和角色动作的变更"是目前我们所面临的两大难点之一,本次,将就解决画面闪烁的前提条件--角色动作变更,也即"动画" ...

  8. 【转】人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[2]——踏破红尘

    来源:http://blog.csdn.net/cping1982/article/details/1664380 "本鹏"上回书言道,Java 游戏中地图的构建是一件极其简单的事 ...

  9. 人生如梦游戏间,RPG游戏开源开发讲座(JAVA篇)[2]——踏破红尘

    "本鹏"上回书言道,Java 游戏中地图的构建是一件极其简单的事情,本次书接前文,探讨游戏中角色的移动问题. 众所周知,[角色]是一个游戏的灵魂所在,没有角色的游戏,就是没有灵魂的 ...

  10. AS3 RPG游戏引擎开发日志3:地图坐标转换

    在这里更改之前说的45度角坐标转换的问题,地图仍然不变,但地图坐标和游戏坐标的关系改变了,它的对应关系如下图: 其中虚线表示地图的边缘,区块中标的数是数组的索引,即地图坐标.地图的高度用大写的H表示, ...

最新文章

  1. Isolation Forest原理总结
  2. Flutter基础笔记
  3. reactjs错误边界:用来捕获后代组件的错误,渲染出备用页面
  4. ubuntu下面codelite运行代码一闪而过的问题、codelite的代码排版快捷键、去掉xfce4的Ctrl+F5
  5. 搭建FastDFS分布式文件存储系统教程
  6. php 正则表达式 文档,php的正则表达式完全手册
  7. 物联网流量池_纯流量卡-物联网流量卡弊端,物联网流量卡有哪些缺点吗?
  8. python发送邮件的模块_python Email 邮件发送模块
  9. opengl 4.5离线文档下载
  10. C语言实现顺序表基本操作
  11. Unity iTween初探
  12. be 动词 时态变化
  13. 《格鲁夫给经理人的第一课》
  14. SpringIOC源码——管理型容器——整体流程【框架专题】
  15. Altium Designer使用技巧总结
  16. 利用python开发银行储蓄_用python实现银行转账功能
  17. Java编写一个桌球_java练习题——简易的桌球游戏
  18. 403错误怎么解决:盘点常见的IIS 403错误网页
  19. 真实世界的Haskell(影印版)
  20. 【论文阅读】Weakly Supervised Learning of Instance Segmentation with Inter-pixel Relations

热门文章

  1. 【啃书C++Primer5】-c++有些理论基础需要了解,墙裂建议看看原书,有太多细节需要注意了
  2. java入我心_JVM(一):久识你名,初居我心
  3. 75道程序员面试逻辑题
  4. 微信公众号-微信事件推送未正确响应
  5. 情商是什么?高情商的说话方式有哪些?
  6. 【数集项目之 MCDF】(一) 控制寄存器 control_register
  7. paint和paintComponent方法的关系
  8. 277、H3C无线组网内部培训培训资料
  9. Spark-SQL简介
  10. BUG实例分析五:binder alloc buf, no vma