本文最后更新于157 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
如何把回合制战集成到一个世界地图中?
1.需要一个全局的场景管理器(scene manager),从而实现在菜单场景、世界地图场景、n个战斗场景之间进行切换和管理
2.实现数据的持久化:玩家队伍角色的等级经验甚至是战斗后的当前HP\MP,需要另一个全局单例比如player data manager来存储这些跨场景保留的数据
道具和BOSS战?
道具系统,创建item data资源,其中也包含一个effect数组,当玩家在战斗中选择使用一个治疗药水后,战斗UI发出一个使用道具的请求
battle manager和skill system接收到请求之后就去执行这个item data的effects数组当中的效果
BOSS战:1.阶段性地变化,让boss自己的ai监听boss自己的生命值,到达多少血量开启下一个阶段(触发一个事件)
2.特殊机制
3.强力招式及预兆
如何优化大量特效和复杂的战斗场景的性能?
1.对象池 比如伤害数字、粒子特效这些需要被频繁创建和销毁的对象,不应该在需要时才去实例化,然后用完之后直接销毁
应在战斗开始的时候就预先创造一批这样的节点,放在一个池子里,需要的时候从池子里取出一个来用
2.设置里提供关闭特效
3.性能分析器
存档和读档?
1.首先要设计一个清晰的存档数据结构,通常是一个大字典,里面包含所有需要保存的信息 等级经验 位置 队伍。。。
2.数据序列化:确保所有需要保存的自定义对象比如character data能有一个save方法,把自身的状态转化为godot内置的可以被序列化的数据类型比如 字典、数组、字符串、数字、JSON&file asset
