【CocoStudio游戏开发之四】UI.json 图片国际化

cocos2dx 3.0 CocoStudio1.4.1

做界面的时候用到了CocoStudio生成的UI.json文件,需要做语言本地化,论坛中有朋友给出了方法:

将本地化的图片设定格式,英文的叫button_store_normal.en.png 中文的叫button_store_normal.zh.png ......

按照这种规则,根据需要的语言来加载不同的图片

我们用到的是另一种方法:

修改json文件,这里并不是真正的修改json文件,只是在读取json文件到内存后,不是立即交予GUIReader生成widget,而是根据需要的语言, 替换json文件中对应的资源路径

资源目录如下:

Resource/data/UI.json

Resource/data/pic //UI.json用到的无需本地化的图片目录

Resource/data/local_en   //存放英文版的图片资源

Resource/data/local_zh   //存放中文版的图片资源

......

JSON文件如下:

  "texturesPng": [
    "pic/ui/weaponscene/bg.png",
    "pic/ui/weaponscene/weapon_sel_close.png",
    "pic/ui/weaponscene/weapon_sel_close1.png",
    "pic/ui/weaponscene/slider_bar.png",
    "pic/ui/weaponscene/slider_btn.png",
    "pic/ui/weaponscene/weapon_sel_bg.png",
    "pic/weapon_1.png",
    "pic/ui/bullet_flag.png",
    "pic/ui/weaponscene/money_buy_bullet.png",
    "pic/ui/weaponscene/money_buy_bullet1.png",
    "local_en/weapon_select_scene/jiemian_upgrade_5.png",
    "local_en/weapon_select_scene/jiemian_upgrade_5_1.png",
    "pic/ui/weaponscene/progress2.png",
    "pic/ui/weaponscene/progress1.png",
    "pic/ui/weaponscene/progress.png",
    "local_en/weapon_select_scene/jiemian_sttack_4.png",
    "local_en/weapon_select_scene/jiemian_xuanzhong_6_5.png",
    "local_en/weapon_select_scene/jiemian_xuanzhong_6_6.png",
    "local_en/weapon_select_scene/jiemian_xuanzhong_6_7.png",
    "local_en/weapon_select_scene/jiemian_xuanzhong_6_8.png",
    "local_en/weapon_select_scene/jiemian_go.png",
    "local_en/weapon_select_scene/jiemian_go_1.png",
    "local_en/weapon_select_scene/jiemian_shop.png",
    "local_en/weapon_select_scene/jiemian_shop_1.png"
......
  ],

pic/ui/*.png属于不需要多语言处理的

local_en/*.png是我们默认设计的语言目录

读取完UI.json文件后,我们将"local_en/"替换为我们需要的语言,如"local_zh/", 就可以了,剩下的就是确定语言的问题了。

如果大家有更好的办法,也和我分享一下

【CocoStudio游戏开发之四】UI.json 图片国际化

时间: 2024-08-14 20:54:58

【CocoStudio游戏开发之四】UI.json 图片国际化的相关文章

【Unity游戏开发之四】GameObject.Find()、Transform.Find查找隐藏对象

GameObjectFindTransformFind查找游戏对象 前置条件 相关API 1 GameObjectFind 2 TransformFind 3 其他查找 实际测试 即使隐藏root节点gameObject也能进行查找的方法 GameObject.Find().Transform.Find查找游戏对象 1.前置条件 Unity中常用到查找对象,非隐藏的.隐藏的,各种方法性能有高有低,使用又有各种条件限制. 在此对查找的性能和条件进行分析.开发时遇到的主要问题是查找隐藏对象. 没有完

【Unity NGUI游戏开发之四】NGUI的DrawCall数量

看了很多关于NGUI drawCall的文章,见得比较多的一个观点是:一个 Atlas 对应一个Drawcall. 但其实NGUI内部有自己的一套对DrawCall的处理规则.相关的规则有: 1.Atlas图集数量有关 2.Atlas图集的调用顺序(绘制顺序)有关 3.和UIPanel的数量有关 一.减少NGUI 3的DrawCall数量 升级到NGUI3, DrawCall数由5个增长到了十七八个,想想应该不会是NGUI的问题吧.后来整理了一下,发现有两点: 1)对于同一Atlas,DrawC

iOS 游戏开发 博客

1. http://www.cnblogs.com/kesalin/archive/2012/11/10/ios_game_dev_resource.html   ( iOS游戏开发教程) 最近几天仔细了解了iOS游戏开发引擎,常用的cocos2d,Unity引擎,那么Unity是非免费的,而cocos2d则是免费开源的: 最后促使我选择cocos2d的原因有两点: 1.最重要的原因是它对应的开发工具,尤其是 “ParticleDesigner”,粒子系统编辑器,非常的喜欢(需付费$7.99美元

干货:Unity游戏开发图片纹理压缩方案

原文:http://www.jianshu.com/p/f7c3741f22af Unity3D引擎对纹理的处理是智能的:不论你放入的是PNG,PSD还是TGA,它们都会被自动转换成Unity自己的Texture2D格式. 在Texture2D的设置选项中,你可以针对不同的平台,设置不同的压缩格式,如IOS设置成PVRTC4,Android平台设置成RGBA16等. 嗯,非常的智能. 但是,在一些进阶的使用中,一些情况是难以满足的. 比如,我们NGUI的图集纹理,在Android平台,使用ETC

Unreal SDK 游戏开发从入门到精通(UnrealScript语法、UI Scene界面、UDK独立开发游戏)

对这个课程有兴趣的朋友可以加我的QQ2059055336和我联系 课程内容简介 本系列讲座主要讲述如何利用UDK开发游戏程序. 本课程主要分为四个部分: 1.学习UnrealScript的基本语法, 为下面的学习打下良好的基础 2.系统学习UDK的主要模块, 熟悉并掌握游戏开发的各个系统 3.使用UDK独立开发游戏Demo, 体验和理解UDK对游戏开发流程的整合 课程大纲 第一章初步接触Unreal SDK 1.1 Unreal sdk简介aaa 1.2 UC语言的基本介绍 1.3 搭建UDK的

游戏开发设计模式之原型模式 & unity3d JSON的使用(unity3d 示例实现)

命令模式:游戏开发设计模式之命令模式(unity3d 示例实现) 对象池模式:游戏开发设计模式之对象池模式(unity3d 示例实现) 实现原型模式 原型模式带来的好处就是,想要构建生成任意独特对象的生成类,只需要一个生成类和一个原型即可.当我们有一个抽象的敌人Monster类就有很多继承它的各种各样的敌人,人类.动物.龙等等,如果我们想为每个敌人做一个生成器父类Spawner,也会有与monster对应数量的子类,也许就会这样: 这样就会产生类的数量变多,而且这些类的功能是重复的.开始的spa

MMORPG大型游戏设计与开发(UI SYSTEM SHOW)

接下来一段时间,这些文件可能不再更新,期间我会学习和掌握一些前端知识.虽然我非常欣赏剑侠网络版叁和九阴真经的画面,但是那是一个庞大的游戏引擎,一般人是无法窥伺的,除非你是天才而且要拥有机器毫无中断的毅力.我也很羡慕国外诸如刺客信条系列.古墓丽影系列,因为在画面和操作方面都做到了世界级水平,这也正是我想研究其实现原理的原因之一.况且那些大型游戏,在中端机器上运行的都比较流畅,也是我很想弄明白的.至于虚幻引擎,这是给那些大型公司,诸如腾讯拿去折腾的,个人根本用不起,那么只能选择开源了.UI我选择了C

【转】cocos2d-x游戏开发(十四)用shader使图片背景透明

转自:http://blog.csdn.net/dawn_moon/article/details/8631783 好吧,终于抽时间写这篇文章了. 手头上有很多人物行走图,技能特效图等,但这些图都有个纯黑色背景,怎么样将内容显示出来,让背景透明呢?前段时间搞了一下,感谢群里的童鞋们,提供了思路和方法. 这里用shader处理了像素,使黑色背景透明,直接上代码 ShaderSprite.h 1 #ifndef __TestShader__ShaderSprite__ 2 #define __Tes

【微信小游戏】(一)小游戏开发调试--关于找不到app.json入口文件

经了解发现 小程序必须要有app.json 小游戏必须的文件只有2个 game.js 小游戏入口文件 game.json 小游戏配置文件 所以不是工程文件缺失,解决方案如下: 进入微信开发者工具后 1 无APPID的,如下图选小游戏也可进入调试界面 2 有APPID的,必须完善填写小程序的信息,里面类别要选小游戏,微信开发者工具识别是小游戏就不会去找app.json入口文件 原文地址:https://www.cnblogs.com/czk123/p/9028364.html