Unity微信小游戏无法调起输入框

最近在开发一款微信小游戏,有个微信修改名字的功能。突然发现发存微信小游戏后,输入框无法调起键盘。
后发现需要发布为WebGL后需要调用微信的一些接口才能调起,这边做个记录。

using UnityEngine;
using UnityEngine.UI;
using WeChatWASM;
public class KeyboardHandle
{#region 私有变量//------------------------------------------------------------------------------------private InputField input;private bool isShowKeyboard = false;//------------------------------------------------------------------------------------#endregion#region 公有变量//------------------------------------------------------------------------------------//------------------------------------------------------------------------------------#endregion#region 私有方法//------------------------------------------------------------------------------------public void ShowKeyboard(InputField target) { __ShowKeyboard(target); }    //打开键盘public void HideKeyboard() { __HideKeyboard(); }                //隐藏键盘//------------------------------------------------------------------------------------#endregion#region 公有方法//------------------------------------------------------------------------------------public void OnInput(OnKeyboardInputListenerResult v){Debug.Log("onInput");Debug.Log(v.value);if (input.isFocused){input.text = v.value;}}//------------------------------------------------------------------------------------public void OnConfirm(OnKeyboardInputListenerResult v){// 输入法confirm回调Debug.Log("onConfirm");Debug.Log(v.value);HideKeyboard();}//------------------------------------------------------------------------------------public void OnComplete(OnKeyboardInputListenerResult v){// 输入法complete回调Debug.Log("OnComplete");Debug.Log(v.value);HideKeyboard();}//------------------------------------------------------------------------------------private void __ShowKeyboard(InputField target){
#if !UNITY_EDITOR && UNITY_WEBGLif (target != null){input = target;if (!isShowKeyboard){WX.ShowKeyboard(new ShowKeyboardOption(){defaultValue = target.text,maxLength = 20,confirmType = "go"});//绑定回调WX.OnKeyboardConfirm(OnConfirm);WX.OnKeyboardComplete(OnComplete);WX.OnKeyboardInput(OnInput);isShowKeyboard = true;}}
#endif}//------------------------------------------------------------------------------------private void __HideKeyboard(){
#if !UNITY_EDITOR && UNITY_WEBGLif (isShowKeyboard){WX.HideKeyboard(new HideKeyboardOption());//删除掉相关事件监听WX.OffKeyboardInput(OnInput);WX.OffKeyboardConfirm(OnConfirm);WX.OffKeyboardComplete(OnComplete);isShowKeyboard = false;}
#endif}//------------------------------------------------------------------------------------#endregion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/103077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git和github的使用

文章目录 1. 安装git2. 注册github3. 配置Git4. 以上完成之后,可以在github上新建远程仓库5. 本地操作:6.关联分支的方法7.本地分支和远程分支关联后,直接git push即可 1. 安装git 2. 注册github 3. 配置Git 参考:https://www.…

VScode远程root权限调试

尝试诸多办法无法解决的情况下,允许远程登陆用户直接以root身份登录 编辑sshd_config文件 sudo vim /etc/ssh/sshd_config 激活配置 注释掉PermitRootLogin without-password,即#PermitRootLogin without-password 增加一行:PermitRootLo…

Linux 文件系统

目录 磁盘文件管理 认识磁盘 抽象认识磁盘 磁盘划分 inode vs 文件名 软硬链接 磁盘文件管理 前面我们说了关于 Linux 文件系统中 “已打开的文件” ,但是在系统中可不光只有已打开的文件,实际上,系统中还存在很多没有打开的文件。 既…

Redis cluster 集群

redis集群redis集群是一个提供在多个redis节点间共享数据的程序集,redis集群可以支持多个master Redis集群支持多个master,每个master又可以挂载多个slave 读写分离、支持数据的高可用、支持海量数据的读写存储操作由于Cluster自动Sentinel的故障转移机制&#xff…

软考 系统架构设计师系列知识点之软件质量属性(5)

接前一篇文章:软考 系统架构设计师系列知识点之软件质量属性(4) 所属章节: 第8章. 系统质量属性与架构评估 第2节. 面向架构评估的质量属性 相关试题 5. 某公司欲开发一个网上商城系统。在架构设计阶段,公司的架构师…

多线程并发篇---第七篇

系列文章目录 文章目录 系列文章目录一、volatile关键字的作用?二、常用的线程池有哪些三、简述一下你对线程池的理解一、volatile关键字的作用? 一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语 义: 保证了不同线程对这个变量…

mac上安装mysql

下载地址:https://downloads.mysql.com/archives/community/ 可以选择dmg安装包,也可以选择tar包。 1、dmg安装包: 1.1)安装: 类似windows的exe,直接next即可。 注意:安装完成之后会弹出一个…

【Python】Python 获取天气数据

Python 获取天气数据 检查天气似乎相当简单:打开 Web 浏览器,点击地址栏, 输入天气网站的 URL(或搜索一个,然后点击链接), 等待页面加载,跳过所有的广告等。 其实,如果有一个程序,…

C# 超详细的WebService创建、发布与调用(VS2022)

本文章是以vs2022来创建的,对内容进行了补充和丰富。如果想看2019的,可以参考。Visual Studio 2019创建 WebServiceCSDN 1.编写接口 打开VS2022,新建项目,这里我选择的是 “ASP.NET Web应用程序(.NET Framework)”。 在这里有一个注意点&a…

Vue整合

基础配置: 1.创建:cmd 中 输入 create vue vue_name 启动命令:npm run serve 2.当node_modules(依赖)丢失时通过 npm install 下载 【根据:package-lock.json下载】 3.下载路由 npm i vue-router3.5.2 -S main.js导入 // np…

机器学习网络模型绘图模板

一 前言 本期为读者推荐一款名为ML Visuals的机器学习画图PPT模板,ML Visuals 专为解决神经网络画图问题设计,通过提供免费的专业的、科学的和充分的视觉和图形来帮助机器学习社区改善科学传播。目前,ML Visuals 包含了超过100多个的自定义图…

【NLTK系列01】:nltk库介绍

一、说明 NLTK是个啥?它是个复杂的应用库,可以实现基本预料库操作,比如,、将文章分词成独立token,等操作。从词统计、标记化、词干提取、词性标记,停用词收集,包括语义索引和依赖关系解析等。 …

[QCM6125][Android13] 默认关闭dm-verity以及OTA升级校验vbmeta和framework matrix失败问题

问题描述 在user版本增加root权限之后,每次进行remount的时候,总会提示 remount of the / superblock failed: Permission denied remount failed 这时候,需要先关闭dm-verify,重启,再remount;整个过程过于…

LeetCode【128】最长连续序列

题目: 分析: 1、最长连续序列的长度为 y-x1,如1-4:4-11 4 2、不要被这里的On误导,不敢使用双层循环 3、只要找到最小的数值,并由此开始计算,不产生重复计算,则为On 代码&#xf…

Docker简单案例

我们安装完Docker之后就可以练习了. 镜像 案例1-拉取、查看镜像 1)首先去镜像仓库搜索nginx镜像,比如 : Docker Hub Container Image Library | App Containerization 搜索我们想要拉取的镜像 , 例如: nginx 复制命令: docker pull nginx …

【数据结构】单链表按位序插入元素e【前插】(带头结点的和不带头结点的)这篇很重要,文字说明比起其他篇是正确的

声明单链表的结构体成员 struct LNode {int data;struct LNode *next; };typedef struct LNode LNode;// 或者: 两者是等价的 typedef struct LNode {int data;struct LNode *next; }LNode;按位序插入元素e:就是在第i个位置插入新结点,数据域为e 以下带…

2023-10-10 mysql-{mysql_rm_db}-失败后回滚-记录

摘要: 2023-10-10 mysql-{mysql_rm_db}-失败后回滚-记录 mysql_rm_db 完整函数代码: /**Drop all tables, routines and events in a database and the database itself.@param thd Thread handle@param db Database name in the case given by userIts alr…

找单身狗2

一个数组中只有两个数字是出现一次,其他所有数字都出现了两次。编写一个函数找出这两个只出现一次的数字。 例如:有数组的元素是:1,2,3,4,5,1,2,3,4,6,只有5和6只出现1次,要找出5和6。 这里我们不妨回忆一下之前找单身…

实现SHELL中的列表和字典效果

很多情况下我们需要有种类型来存储数据,在python中有列表和字典,golang中有切片slice和map,那么在shell中,我们能否实现列表和字典呢,答案是肯定的,下面跟着博哥的示例来一步步掌握在shell中实现列表和字典…

centos7下安装elasticsearch7.8.1并配置远程连接

1、下载安装包 sudo wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.8.1-linux-x86_64.tar.gz 2、解压 sudo tar -zxvf elasticsearch-7.8.1-linux-x86_64.tar.gz 3、添加用户并设置密码 sudo useradd es sudo passwd es # 设置密码 Lida15…