交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • Unity实现本地文本多语言化

    本文实例为大家分享了Unity实现本地文本多语言化的具体代码,供大家参考,具体内容如下

    在unity项目过程中大多都会遇到多语言化,下面讲一下自己的一些实现思路。

    1. 创建一个要实现多语言化的基类

    public abstract class BaseString {
     public abstract string text_test{get;}
     
    }

    2. 对应的语言要继承BaseString类,这里实现中文和英文的两个类

    public class ChineseString: BaseString {
     public override string text_test { get {return "哈喽";}}
    }
    
    public class EnglishString : BaseString {
     public override string text_test { get {return "Hello";}}
    }

    3. 新建一个管理类 TextManager.cs

    public class TextManager {
     
     public BaseString strComponent;
     
     private ChineseString chineseStrCompenent = new ChineseString();
     private EnglishString englishStrComponent = new EnglishString();
     public TextManager() {
     strComponent = chineseStrCompenent;
     }
     
     public void ChangeLanguage(LanguageType type) {
     if (type == LanguageType.ZH)
     {
      strComponent = chineseStrCompenent;
     } else if (type == LanguageType.EN)
     {
      strComponent = englishStrComponent;
     }
     }
    }

    4. 物体上挂载一个Global.cs类,实现调用

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
     
    public enum LanguageType
    {
     ZH,
     EN
    }
     
    public class Global : MonoBehaviour {
     
     public Text textView;
     
     private LanguageType mLanguage = LanguageType.ZH;
     private TextManager textManager = new TextManager();
     // Use this for initialization
     void Start () {
     textManager.ChangeLanguage(mLanguage);
     }
     
     // Update is called once per frame
     void Update () {
     textView.text = textManager.strComponent.text_test;
     }
     
     public void SwitchLanguage()
     {
     if (mLanguage == LanguageType.ZH)
     {
      mLanguage = LanguageType.EN;
     } else if (mLanguage == LanguageType.EN)
     {
      mLanguage = LanguageType.ZH;
     }
     
     textManager.ChangeLanguage(mLanguage);
     }
    }

    上面的代码是通过点击一个按钮来进行切换语言,进而在Text组件上显示对应语言的文本。
    当然根据系统语言来进行切换就可以实现了。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持北冥有鱼。


    广而告之:
    热门推荐:
    asp.net简单生成XML文件的方法

    本文实例讲述了asp.net简单生成XML文件的方法。分享给大家供大家参考,具体如下: 方式一:直接使用DataSet SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=sa;Database=northwind;Persist Security Info=True"; ···

    jQuery Migrate 1.1.0 Released 注意事项

    当开发者需要在代码中使用新版本的jQuery时,可以在1.9或2.0版本中使用该插件来检测哪些功能已经弃用或移除,并可以在必要时恢复这些功能。更多信息见项目README jQuery Migrate 1.1在之前版本的基础上,进行了一些改进,包括: •支持console.trace()来跟踪警告···

    详解Node.js中的Async和Await函数

    在本文中,你将学习如何使用Node.js中的async函数(async/await)来简化callback或Promise. 异步语言结构在其他语言中已经存在了,像c#的async/await、Kotlin的coroutines、go的goroutines,随着Node.js 8的发布,期待已久的async函数也在其中默认实现了。 Node中的async函数是什···

    基于专业SEO优化角度,解析微型电子商务网站的创建细节

    微电子商务是近年来人们经常讨论的热门话题。它起源于微型商务的快速发展。然而,随着新媒体的迅速发展,微电子运营商对搜索流量的关注度越来越低。很少有人使用微电子商务网站来推广它。  但这并不意味着微型电子商务网站没有盈利。事实上,现有的少数微电子商务网···

    vue scroller返回页面记住滚动位置的实例代码

    1,设置keepAlive:是否缓存 router: { path: '/actlist', name: 'actlist', component: actlist, meta: { keepAlive: true } } 2,设置渲染页面 app.vue <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <···

    阐述网站搜索引擎优化中关键词选取、超链接插入的技巧

    除了参考织梦58平台关于引入SEO优化的文章外,这次我们将深入分析三个主要方面:SEO的概念、网页的结构、辅助的东西,以期引导您避免各种神话和陷阱搜索引擎优化。  搜索引擎优化概念  方向是对的,不管这条路有多艰难,它都会走到尽头。  在优···

    javascript类型系统 Array对象学习笔记

           数组是一组按序排列的值,相对地,对象的属性名称是无序的。从本质上讲,数组使用数字作为查找键,而对象拥有用户自定义的属性名。javascript没有真正的关联数组,但对象可用于实现关联的功能   Array()仅仅是一种特殊类型的Object(),···

    js模拟实现Array的sort方法

    JavaScript的Array对象有一个sort方法,用于实现对数组元素的排序,该方法默认按照数组项ASCII 字符顺序升序排列。   如[6,7,9,1,-1].sort();执行后数组变为[-1,1,6,7,9]。   对于需要降序排列或非字符串排序,该方法就不能很好的执行了。 &n···

    PHPWind与Discuz截取字符函数substrs与cutstr性能比较

    以掌握使用Benchmark_Iterate类工具的方法。 目录 一,什么是PEAR与Benchmark 二,性能比较代码准备与调试 三,性能比较测试结果 四,性能比较测试总结 五,附性能比较源代码下载 一,什么是PEAR与Benchmark 请参考PHP性能优化系列 第二期 PHP性能优化工具篇Benchmark···

    jQuery 实现侧边浮动导航菜单效果

    单页面网页内容较多,页面长度较大,需要方便快速的在页面的不同位置进行定位,所以浮动菜单逐渐流行了起来,如下图 男装、女装、美妆等。 这种菜单功能分为两部分: 1、点击菜单项,网页滚动到对应位置,可简单通过锚点实现; 2、滚动页面的时候,菜单项的选中状态要跟着改变···