UGF结合demo的使用2--UI制作,写UI逻辑,本地化语言相关

  • UI相关

接着上篇文章继续进入菜单流程

 

进入流程后打开菜单窗口

 

成功打开菜单窗口后触发订阅的事件

 

赋值m_MenuForm 为 菜单逻辑

创建一个UI窗口会在这个窗口上添加两个脚本

一个是这个窗口的自定义逻辑脚本,一个是UIform 的生命周期脚本

 

再初始化UIform生命周期脚本时会获取这个UI上的逻辑脚本

 

在每个周期阶段UIForm上执行的逻辑其实是需要调用逻辑脚本上的逻辑如上图

我们在使用UI的时候只需要编写逻辑脚本就行了

 

接着制作下UIform,可以参考starforce里的ui,不过我感觉starforce里的太麻烦了

如在菜单ui上有各种按钮,作者没有使用UGUI里的Button这个类而是用UI事件接口自己写了个common button 虽然很直观 但我没有使用。

 

如下我的UI预制中按钮是UGUI的默认按钮

 

 

我是在菜单窗口打开时给按钮加上事件

 

记得要在UFG 预制体UI组件上创建默认组,因为在UIFrom数据表中 所有的uigroup 都是default的

 

到这里UI就可以正常加载的了,如果读者还遇到其他问题可自行debug。

 

  • 现在还有一个问题按钮上的文字会出现nokey的字样,那是因为UI框架里会对ui上的text里的字符进行本地化操作,什么是本地化? 就是根据你的配置进行多国语言的切换。

 

在ui逻辑的基类中再初始化ui时会对text把字符的字符当做key去字典中找对应的value。

 

在starforce中字典中的数据是由xml文件中读取的在localiztion 文件夹下

 

作者这里做了四种语言简,繁,英,韩。

直接复制这个文件夹到我们工程中

 

要切换语言就在在UGF的预制体中选择对应的语言,然后游戏初始化就读对应的xml文件。

来到预加载流程中取消之前注释掉的载入字典方法。

 

同时加上对应的的载入成功和失败的订阅事件。

 

starforce中是用xml载入字典的也可以用其他的文件格式需要自己实现,作者已经实现了用xml文件的方法了,默认的辅助器是二进制读取的。不能直观看到数据。

直接把作者的xml本地化辅助器脚本拷过来。

 

在UGF预制体本地化组件上应用

因为载入的时候使用xml文件格式载入的所以辅助器也用xml的

 

 

这样就可正确加载文字了

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值