在unity中input可以输入中文, 导出WebGL后,input不能中文。
插件原理:点击unity中的input,插件会重新生成一个html中的input,输入的汉字会赋值到unity中的input中。当鼠标点击空白处,插件生成的input会被删除。
将WebGLSupport文件夹复制到Assets下
在input上添加WebGLInput组件
导出WebGL时,设置
File > Build Setting > Player Setting > Publishing Settings > Compression Format 选择 Disabled
Compression Format选择Disabled如果不行,请试试选择别的
手机浏览器访问:
手机浏览器访问时会出一个input:去除input。
打开WebGLInput.cs,修改两处
第一处
第二处
有时可能会出现手机键盘一直出现,不消失的bug。因为此插件生成input没有被删除。
移除焦点
//获取数量插件生成input的数量
int count = Input.GetComponent<WebGLSupport.WebGLInput>().getInstances();
if (count > 0){
//移除焦点
Input.GetComponent<WebGLSupport.WebGLInput>().DeactivateInputField();
//如果input不隐藏,请忽略此步骤
//当执行此代码时,input必须等待一点时间后,才能隐藏,否则失败
StartCoroutine(Hide()); //代码等待0.05秒
}
//等待
private IEnumerator Hide()
{
yield return new WaitForSeconds(0.05f);
}