Unity WebView 插件⭐️(十)核心模块 画布键盘—CanvasKeyboard

举报
呆呆敲代码的小Y 发表于 2021/09/27 09:54:35 2021/09/27
【摘要】 📢前言该文章是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);
};

💬总结

CanvasKeyboardKeyboard 用法基本一致

区别就是CanvasKeyboard使用的是Unity中的Canvas渲染,Keyboard则是普通的渲染

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。