嗯…… 这个其实已经涉及到 UI 的窗口管理了,每个游戏的复杂度、需求都不太一样,我们目前还没有特别好的方案能够做到满足通用需求。相反,很多团队,根据他们的开发习惯,都有一套自己的 UI 管理机制,我们更鼓励用户去沿用适合团队的框架,造这种轮子对主程来说往往难度不是很大。
这个确实是很多游戏都需要的。我们也在 example 中集成了范例,论坛里也有不止一个人发过他们实现后的组件了。
不过要集成到引擎里,难度远远比针对某个游戏的定制需求来得复杂。你提供了 ListView 以后,就要考虑到 scale、事件触发、事件绑定(为不存在的节点绑定事件)、动态刷新(列表动态增长) 的各种支持…… 有些用户可能还需要条目高度可变、自适应(用于做聊天室的对话列表),你是否还得支持……相信我,只要你提供了一个新的组件,那么新的反馈、新的需求就会层出不穷。哪怕没有新需求,维护一个组件的稳定性,也是需要很多投入的。就像 layout/toggle/scrollview,每个版本都会多多少少出点问题,很多问题都是牵一发动全身的。
综上,我们目前还没有底气去挖这么一个新组件的坑。
这里算是产品定位上的出入吧。我还是比较建议这个阶段保持在维护好 积木、螺丝钉、性能、跨平台一致性上就好了。还没到维护好脚手架的程度。
用户发现你有好用的脚手架,但是满足不了他的需求,他有能力去扩展和修改吗?没有的。能自己扩展、修改组件的用户真的不多,与其你提供一个他完全改不动的东西,不如让他自己造个轮子来得简单。