• 制作输入框(Input)


    怎样判断是否应当使用输入框

      输入框,就是用户可以自由输入文本的地方。当需要判断是否需要使用输入框时,可以遵循一条原则:凡是需要用户自主输入文本的地方,几乎都必须使用输入框。

      输入框的常见用法:输入登录账号和密码、输入角色名称、输入聊天内容等。

    创建输入框

      输入框的3个核心控件:BoxCollider组件允许UI能输入事件、UIInput组件允许玩家能输入自己的文字、一个UILabel来显示输入的文字。

      第一种创建方式:自己拼装

        (1)创建一个Sprite作为输入框的底板。

        (2)为这个输入框的底板附上UIInput组件,附加方法为AddComponent->NGUI->UI->Input Field。

        (3)为这个输入框附加一个BoxCollider,附加方法为选中底板Sprite,然后选择Unity顶部NGUI菜单并选择Attach->BoxCollider。或者AddComponent->Physics->BoxCollider(此种方式创建的需要自主调整Box的尺寸用以匹配输入框大小)。

        (4)在这个输入框下面创建一个Label子物体,创建方法为选中输入框,然后选择Unity顶部NGUI菜单,选择Create->Label即可。

        (5)将这个新创建的Label子物体拖入到底框的Input组件中的Label选项中。

      第二种创建方式:Prefab Tool Bar中直接拖入

    核心组件Input设置

      Input组件是输入框的核心组件,NGUI显示文字几乎全部依赖Label组件,所以,Input组件它本身是无法显示文字的,它必须和一个Label有一定的关联,让这个Label来帮助显示Input的文本内容。

      1.Label设置

        如果在这里不设置Label,运行之后单击输入框将会报错,导致输入框无法使用。

      2.Starting Value

        默认输入的文字。

        默认输入的文字:当运行游戏时,输入框默认输入的文字,这个文本是模拟玩家输入进去的,就好像登录QQ时自动填充了你的QQ号一样,这个文本是一个属于输入的文本、真实有效的输入文本(只不过它是初始自动就输入进去了而已)。

        初始显示的文本:这个是输入框在没有接收用户输入时显示的提示文本,例如:“请输入密码”,“请在这里单击进行聊天”等提示性文字,用户单机输入框之后文字就消失了变成了用户输入的文本的显示。这个初始显示的文本只有一个纯粹的提示作用,不属于输入的文本、是一个无效的文本。

        初始显示的文本在Input相关联的Label中进行设置,这个关联的Label的文本内容就是输入框初始显示的内容。

      3.Saved As

        输入的内容在Player Pref中的哪个字段保存。这个一般用不到,而且它会自动保存,基本不用去管它。如果有特殊需求,可以在这里设置。

      4.Active Text Color

        活动文本的颜色和透明度设置,也就是用户在输入文字时的文字颜色和透明度。

      5.Inactive Color

        不活动的文字颜色和透明度,这个可以用来设定初始显示的文字的颜色透明度。

      6.Caret Color

        这个可以设定插入符的颜色和透明度。

      7.Selection Color

        选中的颜色和透明度,这个表示的是选中输入的文字时,覆盖在文本上的那一层遮罩的颜色,就像在Word办公软件中,输入的字可以通过拖动鼠标光标来选中他们一样。

      8.Input Type

        输入类型的设置,默认为Standard标准输入。

        Standard

          标准输入类型,输入的文字会正常一个挨一个地显示出来,它的对齐方式全部由Input相关联的Label决定。

        AutoCorrect

          自动调整模式,类似于Label中的自动调整模式。

        Passward

          密码模式,在这种模式下,输入的文字会自动地变成*符号。

      9.Mobile Type

        这是输入文本时,键盘的类型设定。它有以下几种类型:  

          Default;

          ASCII Capable(任何格式都允许);

          NumbersAndPunctuation;

          URL;

          NumberPad;

          PhonePad;

          NamePhonePad;

          EmailAddress;

      10.Validation

        验证。默认为None没有验证,可以验证整数、浮点数等,如果输入的字符不属于验证类型将无法输入(整数允许视为浮点数)。

      11.Character Limit

        可输入的最大字符数限制。需要注意的是,一个汉子要占用两个字符。

      12.On Submit

        这里是提交输入内容时的触发事件函数设定。

      13.On Change

        这里是当输入内容改变时的触发事件函数设定。

    输入框使用的一些注意事项

      (1)输入框Input本身是无法显示文字的,它必须借助于一个Label来帮它显示输入的文本。

      (2)输入框输入文字的字体,是在输入框关联的Label中设定的,这个关联的Label用的什么字体,则输入框中输入的内容就会是什么字体。

      (3)输入框必须要有一个BoxCollider和一个Sprite底框,否则无法输入。

      (4)输入框中对输入的文本的设定都受关联的Label的影响,因为它本身是借助这个Label来显示文字的。但是,如果发生冲突,比如在Input组件中设定文字颜色为红色,而在关联的Label中设定文字颜色为白色,那么将会以Input中的设置为准。

      (5)如果发生以下情况,都将造成输入框无法显示文字:

        超出最大字符数限定了;

        输入的字符不符合要求的验证类型;

        关联的Label所选用的字体中没有这个文字;

        关联的Label中设定了文字大小超出范围则不显示;

        将文字设为全透明了;

      (6)输入的文字可以从Input中的value变量读取,也可以从关联的Label中的text变量读取。

      (7)将相关联的Label设为输入框的子物体,就可以保证输入的文字和底框保持相对位置不变。

  • 相关阅读:
    LR和SVM等线性模型比较
    博客内容和格式整理想法
    matlab安装matconvnet出错总结
    《java 核心技术一》第二章java程序设计环境
    《java 核心技术一》第一章 程序设计概论
    java eclipse 程序没错,运行结果显示无法加载主类的解决方法
    《贾平凹--朋友圈子就是你人生的世界》读后感
    java try-catch-finally输出异常
    暑假计划
    java 登录注册小程序
  • 原文地址:https://www.cnblogs.com/-soy/p/5874874.html
Copyright © 2020-2023  润新知