您当前的位置: 首页 >  unity

十幺卜入

暂无认证

  • 1浏览

    0关注

    119博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity3d C# UGUI制作内置键盘带输入功能(含工程源码)

十幺卜入 发布时间:2021-07-27 18:04:55 ,浏览量:1

前言

上一章我们实现了“Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)”,该方式只适用于Windows平台,目前是win10上测试的,其它系统环境待测试而且极可能是不可用的。就进行内置键盘的开发,但目前仅支持英文输入,后续可能会尝试中文输入,但是目前还有一定的难度和限制。

中文离线输入法已实现 https://blog.csdn.net/qq_33789001/article/details/119329690

效果

调起键盘效果: 在这里插入图片描述

取消输入: 在这里插入图片描述

大小写切换: 在这里插入图片描述

功能实现

实现的方法重点在搭建UI,因为键盘的按键还是较多,我这边稍作了一点整理,主要参照手机的输入法键盘布局方式,没有了实体的F1–F12、Alt、Ctrl、Win等按钮,增加了清空、取消、确认等功能按钮。

UI搭建

搭建的最终效果:

在这里插入图片描述

只不过通用的按钮是通过按钮的预制体动态加载生成的,包括键值的设置也是动态进行。 先按每行设定了按钮的值数组:

        private string[][] Line0_KeyValue = {
            new string[]{"`","1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "="},
            new string[]{"·", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+" }};

        private string[][] Line1_KeyValue = {
            new string[]{"q","w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "\\"},
            new string[]{"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "{", "}", "|" }};

        private string[][] Line2_KeyValue = {
            new string[]{"a","s", "d", "f", "g", "h", "j", "k", "l", ";", "'"},
            new string[]{"A", "S", "D", "F", "G", "H", "J", "K", "L", ":", "\""}};

        private string[][] Line3_KeyValue = {
            new string[]{"z","x", "c", "v", "b", "n", "m", ",", ".", "/"},
            new string[]{"Z", "X", "C", "V", "B", "N", "M", "", "?"}};

每个键的值有两个,shift按钮切换。

根据上面的值初始化按键:

//初始化按钮
        private void InitComBtn()
        {
            InstantLineComBtns(Line0, Line0_KeyValue);
            InstantLineComBtns(Line1, Line1_KeyValue);
            InstantLineComBtns(Line2, Line2_KeyValue);
            InstantLineComBtns(Line3, Line3_KeyValue);
        }

        //按行实例化按钮
        private void InstantLineComBtns(Transform LineTran,string[][] KeyValues)
        {
            for (int i = 0; i             
关注
打赏
1663314737
查看更多评论
0.1512s