Unity WebView 插件⭐️(九)核心模块 键盘模块—Keyboard
📢前言
该文章是WebView 插件系列文章,传送门:浏览器插件3D WebView专栏
上一篇文章对3D WebView 插件的 Web
做了一个详细的介绍说明
那本篇文章就来介绍下 Keyboard
键盘 的说明和使用方法
🔔核心模块 键盘模块—Keyboard
一个 3D 屏幕键盘预制件,您可以连接到网络视图以进行打字。
可以通过编辑器将 Keyboard.prefab
文件拖入场景中或通过编程调用Keyboard.Instantiate()
来向场景中添加键盘。
要在Canvas 中使用,请参阅CanvasKeyboard。
键盘的用户界面是一个React.js应用程序
,内部运行WebViewPrefab
并发出消息,以C#当按下按键。 键盘 UI 是开源的,可在 GitHub 上获得。
键盘支持以下语言的布局,并根据操作系统的默认语言自动设置布局:英语、西班牙语、法语、德语、俄语、丹麦语、挪威语和瑞典语
很遗憾的是这个键盘不支持中文输入,这也是该插件最大的一个遗憾。不知道为嘛不给我们加上一个支持中文输入
难道老外学不好中文,连中文输入法也做不出来吗!!,感觉不是技术问题,就是单纯的不想加入中文输入
🎁Keyboard公共属性
1.初始分辨率
float InitialResolution
以每个 Unity 单位的像素为单位设置键盘的初始分辨率。您可以更改分辨率以使键盘的内容看起来更大或更小。
2.网络视图预制件
WebViewPrefab WebViewPrefab { get; }
获取用于键盘 UI 的 WebViewPrefab。
Keyboard公共方法
1.实例化
static Keyboard Instantiate(float width, float height)
使用指定的宽度和高度创建一个实例。
2.实例化
static Keyboard Instantiate()
使用默认宽度和高度创建一个实例。
Keyboard公共活动
1.已初始化
EventHandler Initialized
表示键盘完成初始化。
2.输入接收
EventHandler<EventArgs<string>> InputReceived
表示用户单击了键盘上的某个键。
🌲示例
1.在插件中使用该键盘进行输入的方法很简单,只需要将一下代码在初始化的时候执行一下即可
// 连接屏幕键盘。
var keyboard = GameObject.FindObjectOfType<Keyboard>();
keyboard.InputReceived += (sender, eventArgs) => {
Debug.Log("键盘输入:"+ eventArgs.Value);
_webViewPrefab.WebView.HandleKeyboardInput(eventArgs.Value);
};
2.创建一个WebView视图和Keyboard的预制体,完整例子
// First, create a WebViewPrefab for our main web content.
var webViewPrefab = WebViewPrefab.Instantiate(0.6f, 0.3f);
webViewPrefab.transform.parent = transform;
webViewPrefab.transform.localPosition = new Vector3(0, 0f, 0.4f);
webViewPrefab.transform.LookAt(transform);
webViewPrefab.Initialized += (sender, e) => {
webViewPrefab.WebView.LoadUrl("https://www.google.com");
};
// Add the keyboard under the main webview.
var keyboard = Keyboard.Instantiate();
keyboard.transform.SetParent(webViewPrefab.transform, false);
keyboard.transform.localPosition = new Vector3(0, -0.31f, 0);
keyboard.transform.localEulerAngles = Vector3.zero;
// Hook up the keyboard so that characters are routed to the main webview.
keyboard.InputReceived += (sender, eventArgs) => {
webViewPrefab.WebView.HandleKeyboardInput(eventArgs.Value);
};
💬总结
这个Keyboard键盘
适用于在3D空间中使用,一般在3D空间中使用的都是VR设备使用偏多
主要是目前没有中文输入,使用的时候缺陷偏多,官方说后续可能会添加上,但是估计还早~
我们使用的时候只需要控制Keyboard键盘
的位置大小,字符输入也只要添加上面示例中的监听即可!
- 点赞
- 收藏
- 关注作者
评论(0)