制作输入框(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設為輸入框的子物體,就可以保證輸入的文字和底框保持相對位置不變。
總結
以上是生活随笔為你收集整理的制作输入框(Input)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快递中转点
- 下一篇: Windows 系统变量大全