🥩方案介绍
💡.本解决方案有效解决了在WebGL平台发布后无法输入中文的问题,本方案目前已经完成了对InputField(UGUI)、InputField(TextMeshPro)、TextField(UIToolkit)
三大ui组件的支持。
💡.经过功能的封装使用过程极度舒适(只需在代码中使用xxx.AddIMESupport_WebGL()
和xxx.RemoveIMESupport_WebGL()
),详情见后文Demo 部分。
🥪基础流程
🍜 Demo
💡场景搭建
- 新建空白场景
- 拖入
WebGL必备
预制体(Assets/ZYF/Tools/Webgl/IMEInput/WebGL必备.prefab) - 添加一个InputField (TMP) ui
- 新建脚本 Test.cs,并挂到ui物体上。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using TMPro;
namespace ZYF
{
public class Test: MonoBehaviour
{
public TMP_InputField inputField;
private void OnEnable()
{
inputField.AddIMESupport_WebGL();
}
private void OnDisable()
{
if (inputField != null)
{
inputField.RemoveIMESupport_WebGL();
}
}
}
}
💡发布设置
-
选择WebGL Template 为
ZYF
。 -
勾选
Decompression Fallback
。
-
打包发布。