课程总结:2025年8月31日 前端双语化开发实录
核心目标:为游戏中的技能、道具、装备等模块实现中英文双语显示,优化国际化支持。
一、核心内容
- 道具/装备双语化
- 数据表处理:
- 提取道具/装备的中文名称,合并为Excel表,新增
English Name
列。 - 使用工具将Excel转为Lua表,供客户端加载。
- 前端逻辑:
- 修改
itemTips
界面,动态加载英文名,与原中文名并列显示。 - 解决容器层级问题,调整英文名的位置和样式(字号、颜色、对齐)。
- 技能双语化
- 技能表整合:合并技能中英文名称,处理长文本换行和截断(如
substring
限制长度)。 - UI适配:
- 在技能描述区域下方添加英文名,动态计算位置(根据文本长度调整Y轴偏移)。
- 处理自定义技能的特殊显示逻辑(如被动技能不覆盖主动技能)。
- 图标与资源管理
- 图标批量处理:
- 统一命名规则(如
10001.png
),通过工具批量重命名并导入资源目录。 - 调试图标显示问题,排查路径错误和分类标识(如
looks=70
)。
- 资源加载优化:确保前端缓存更新,避免旧资源干扰。
- 功能逻辑修复
- 称号系统:
- 禁止重复学习同名称号(通过
getTitleList
检测存在性)。 - 修复因循环检测导致的崩溃问题(屏蔽冗余接口调用)。
- 道具双击逻辑:移除无用触发,避免玩家误操作。
二、关键技术与工具
- 数据转换:Excel转Lua表工具,确保主键(如
name
)匹配。 - 动态加载:通过
F1重载
实时调试界面,避免重启客户端。 - UI调试技巧:
- 使用
print.dump
输出组件属性,定位显示问题。 - 动态调整坐标(如
X=-160, Y=30
)解决重叠或错位。
- 资源管理:规范图片命名(6位数字),匹配游戏内ID。
三、问题与解决方案
- 英文名未显示
- 原因:未正确加载Lua表或主键不匹配。
- 解决:检查文件路径,确保表数据被正确迭代(如
for k,v in pairs(itemTable)
)。
- 技能名称过长
- 处理:动态计算长度,超限部分截断(
len>30
时省略)。
- 图标不显示
- 排查:验证资源路径、分类标识(如
looks
值),更新前端缓存。
四、后续优化建议
- 自动化工具:编写脚本批量处理多语言表转换,减少手动操作。
- UI统一性:规范双语显示的布局(如固定两行或右侧浮动)。
- 扩展性:预留接口支持更多语言(如
name_zh
/name_en
)。
总结:本次课程通过实战演示,系统覆盖了游戏前端的双语化开发流程,重点解决数据、UI、资源的协同问题,为后续国际化需求奠定基础。