Unity WebView 插件⭐️(十)核心模块 画布键盘—CanvasKeyboard
📢前言
该文章是WebView 插件系列文章,传送门:浏览器插件3D WebView专栏
上一篇文章对3D WebView 插件的 Keyboard
做了一个详细的介绍说明
那本篇文章就来介绍下 画布键盘CanvasKeyboard
的说明和使用方法
🔔核心模块 画布键盘—CanvasKeyboard
与键盘预制件类似,但针对在Canvas 中使用进行了优化。
可以通过编辑器将 CanvasKeyboard.prefab
文件拖入 Canvas 或以编程方式调用CanvasKeyboard.Instantiate()
将 CanvasKeyboard
添加到场景中。
3D WebView 的 CanvasWorldSpaceDemo 场景中有一个使用该键盘的案例
CanvasKeyboard公共属性
1.初始分辨率
float InitialResolution
以每个 Unity 单位的像素为单位设置键盘的初始分辨率。您可以更改分辨率以使键盘的内容看起来更大或更小。
2.网络视图预制件
CanvasWebViewPrefab WebViewPrefab
CanvasWebViewPrefab用于键盘 UI的实例。
CanvasKeyboard公共方法
1.实例化
static Keyboard Instantiate()
创建一个新实例
CanvasKeyboard公共活动
1.已初始化
EventHandler Initialized
表示键盘完成初始化。
2.输入接收
EventHandler<EventArgs<string>> InputReceived
表示用户单击了键盘上的某个键。
🌲示例
1.在插件中使用该键盘进行输入的方法很简单,只需要将一下代码在初始化的时候执行一下即可
// 连接屏幕键盘。
var keyboard = GameObject.FindObjectOfType<CanvasKeyboard>();
keyboard.InputReceived += (sender, eventArgs) => {
Debug.Log("键盘输入:"+ eventArgs.Value);
_canvasWebViewPrefab.WebView.HandleKeyboardInput(eventArgs.Value);
};
2.创建一个CanvasKeyboard的预制体,完整例子
例子
// Create a CanvasKeyboard.
var keyboard = CanvasKeyboard.Instantiate();
keyboard.transform.SetParent(canvas.transform, false);
var rectTransform = keyboard.transform as RectTransform;
rectTransform.anchoredPosition3D = Vector3.zero;
rectTransform.offsetMin = Vector2.zero;
rectTransform.offsetMax = Vector2.zero;
rectTransform.sizeDelta = new Vector2(650, 162);
// Hook up the keyboard so that characters are routed to a CanvasWebViewPrefab in the scene.
keyboard.InputReceived += (sender, eventArgs) => {
canvasWebViewPrefab.WebView.HandleKeyboardInput(eventArgs.Value);
};
💬总结
CanvasKeyboard
和 Keyboard
用法基本一致
区别就是CanvasKeyboard
使用的是Unity中的Canvas渲染,Keyboard则是普通的渲染
- 点赞
- 收藏
- 关注作者
评论(0)