用户界面:文本输入
概述
PlayCanvas 中有多种文本输入实现方式。本教程分享一个灵活的库,旨在覆盖最常见的使用场景。
它将 HTML input 元素叠加在 PlayCanvas 渲染画布上,并根据用户通过鼠标还是触摸交互来调整位置。
使用 HTML input 元素,可以获得用户在网页上期望的系统级功能,包括复制粘贴和密码管理器支持。
触摸交互时,库假定会出现虚拟键盘,并据此调整 HTML input 的位置。
桌面端使用效果如下:

移动端效果如下:
备注
此库不支持三维界面元素。
安装方法
打开示例项目,右键点击 ui-input 文件夹,选择 Copy(复制)。

打开自己的项目,在资源面板中右键,选择 Paste(粘贴)。

添加第一个文本输入框
创建 UI Image 或 Group 元素实体,将其作为二维 UI Screen 的子级,并设置合适尺寸。确保启用 Element 组件的 Use Input(使用输入)。它定义用户点击并开始输入文字的区域。

为该元素实体添加 Script 组件,并添加脚本类型 uiInputField。

在刚创建的元素实体下创建 UI Text 元素子实体。uiInputField 脚本会根据用户输入和脚本属性更新其中的文字。

返回之前添加的 uiInputField 脚本,引用 Text 元素实体,并根据使用需求调整属性。将鼠标悬停在各属性上可查看提示与说明。

最后启动场景进行测试。

进阶:自定义样式
库为 HTML input 元素使用中性色样式。如需更符合应用的外观,可以修改 ui-input-library.js 中 createInputDom 函数里的 CSS。