安卓会把各个语言的文本,生成为独立的文件。
方案:把所有的语言整合到一个excel里进行版本控制。
基本表结构如上,hero表本身是没有文本的,只有key,程序读文本也不会从hero表去读,而是从英雄表拿到key,根据key去本地化表获取文本,再根据语言选择展示的文本。
一般文字放在Excel表里一般都会以Key-Value形式存放,就比如,Key为“RoleName”,Value为“角色名字”,或者Key为1101,Value为“好友分享”等。
数值策划的底层工作就是将上层策划的抽象感性的系统描述具象化、逻辑化,做好上层策划和程序交流的通道(类似于IR),在上层策划的方案前提下,配合或指导程序,制定出数据结构和算法流程,并保证其被实施。同时在策划和程序有需要时,迅速为双方提供各自所不了解部分的内容说明,对策划说程序实现,对程序说策划思想,游戏最基本的数据和具体数据流向等,是必须在数值策划全力参与或主导下完成的。
数学模型其实不可作为中间层的,应该再具象些、逻辑化。
“中间层”概念有时可用在逻辑性的程序员上,“函数”即可将一个集合变换到另一个集合,实现了转换。再往大点就是编译器系统,成为了程序员和机器的“中间层”。
找到属于自己的“中间层”,类似于数学模型作为自然现象和人类的“中间层”
我的方式应该是“数据化”,因为它能让普通人也懂.
简单罗列一下可能的需求如下:
解决方案:
从Excel导出数据,数据导出的格式可以由程序员决定,如json、cs、xml,甚至是二进制文件,然后在游戏中加载的时候直接反序列化,这样引用数据的时候很方便。
流程如下:
原理简单说就是:Dll持有一张URL映射表,每个路径都映射到一个字符串key上。代码里只引用这个key通过Dll来获取所有资源。所以当要切换多语言版本时,只要修改这张映射表即可,可让同一个key在不同语言环境下获得不同的资源(自定义的类资源)