Unity WebView 插件⭐️(十)核心模块 画布键盘—CanvasKeyboard
【摘要】 📢前言该文章是WebView 插件系列文章,传送门:浏览器插件3D WebView专栏上一篇文章对3D WebView 插件的 Keyboard 做了一个详细的介绍说明那本篇文章就来介绍下 画布键盘CanvasKeyboard的说明和使用方法 🔔核心模块 画布键盘—CanvasKeyboard与键盘预制件类似,但针对在Canvas 中使用进行了优化。可以通过编辑器将 CanvasKey...
📢前言
该文章是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则是普通的渲染
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)