zoukankan      html  css  js  c++  java
  • Godot

    版本 Godot 3.1.2

    背景

    Godot的UI系统封装的很难受, 一些东西很难改动, 比如这个AcceptDialog的"确定""取消"按钮, 特别是在编辑器本身还有bug的情况下

    其属性中不能直接修改AcceptDialog的"确定""取消"

    可以通过添加翻译文件来解决, 而国际化也是现在很多游戏的需求

    实现步骤

    官方文档说的云里雾里, github的demo因为春节家里网不好下载不动...
    在"新建资源"命令中可以看到"Translation"类型的资源文件, 然而是不需要手动创建的

    1. 首先创建一个文件夹"languages", (名字随意, 注意最好不要大写)
    2. 新建一个csv文件"language.csv", (名字随意) 添加以下内容 (也可以使用Excel等表格编辑工具进行编辑)

    注意保存选项为编码"UTF8", 换行符"LF", 推荐使用文本编辑器, 不推荐使用Excel
    返回godot后, 会自动生成相关的Translation资源文件

    1. 添加资源文件。Godot中, "项目" -> "项目设置" -> "本地化" -> 添加刚生成的"language.zh.translation"

    运行效果

    1. 代码中使用

    在"language.csv"中添加

    Test_Title,测试标题
    Test_Content,测试内容
    

    效果如下

    GDScript函数tr(key : String) -> String用于提取常量
    似乎是因为Godot的bug, 在官方文档

    level.set_text(tr("LEVEL_5_NAME"))
    status.set_text(tr("GAME_STATUS_" + str(status_index)))
    

    set_text还是调用了一次tr()的, 但实测在代码中直接设置text属性或使用set_text()函数(实际是一回事), 都自动转换到了翻译后的字符, 要使用的话统一使用KEYNAME

  • 相关阅读:
    优化Http请求、规则1减少Http请求 更新中
    js 验证日期格式
    SQL 在OPENQUERY中使用参数
    onpropertychange 和 onchange
    js 去掉空格
    检索 COM 类工厂中 CLSID 为 {000209FF00000000C000000000000046} 的组件时失败解决方法
    C#连接oracle数据库操作
    SQL游标
    MS SQL 设置大小写区别
    vs jquery 智能提示
  • 原文地址:https://www.cnblogs.com/lunoctis/p/12235738.html
Copyright © 2011-2022 走看看