※참고사항※
해당 포스트는 본업 개발자가 정성껏 포스팅한 포스트가 아닙니다!
평범한 고등학생이 유니티를 배우면서 적어나가는 포스트라는 점을 이해해 주십사 하고 청하는 바입니다.
(잘못된 정보는 댓글로 감사히 받겠습니다!)
이 포스팅을 보시기 전에 아래 링크를 타고 이전 포스팅을 보시고 오시면 이해가 더 잘 되실겁니다!
[Unity 기초] 2. 자료형에 대하여
'인풋 필드'에 대한 설명이 있는 포스팅입니다!
rktrjtrit-unity.tistory.com/3
[Unity 개념] 9. UI (User Interface)에 대하여
'UI'에 대한 셜명이 있는 포스팅입니다!
rktrjtrit-unity.tistory.com/13
목차
1. Input Field란?
2. Input Field의 사용법
1. Input Field란?
인풋 필드는 사용자가 직접 텍스트를 입력할 수 있게 해주는 컨트롤입니다.
예를 들자면 아래와 같 Chrome (크롬)을 열고 사이트나 검색어를 검색하는 곳이 인풋 필드라고 할 수 있습니다.
인풋 필드는 로그인, 검색, 닉네임 입력 등 아주 다양한 곳에 사용됩니다.
그럼 이제 인풋 필드를 생성해보겠습니다.
인풋 필드는 UI - Legacy - Input Field로 생성합니다.
속성들입니다.
- Interactable
- 인풋 필드가 사용자와 상호작용이 가능한지 결정합니다.
- 인풋 필드를 사용할거라면 체크해주세요. (기본적으로 체크 돼있습니다!)
- Transition
- 인풋 필드를 클릭 시 색깔을 바꾸거나, 스프라이트를 바꾸거나, 애니매이션을 주거나 할 수 있게합니다.
- none : 없음
- Color Tint : 색깔을 바꿉니다. (기본 설정입니다!)
- Sprite Swap : 스프라이트를 바꿉니다.
- Animation : 애니매이션을 줍니다.
- 인풋 필드를 클릭 시 색깔을 바꾸거나, 스프라이트를 바꾸거나, 애니매이션을 주거나 할 수 있게합니다.
- Navigation
- 컨트롤의 순서를 정합니다.
- Text Component
- 현재 인풋 필드와 연결된 Text 객체입니다.
- 사용자의 입력 값을 받을 Text 컴포넌트입니다.
- Text
- 사용자의 입력 값입니다.
- Character Limit
- 사용자가 입력할 수 있는 문자 갯수를 제한합니다.
- 값이 0이면 제한이 없습니다.
- Content Type
- 입력할 값의 타입입니다.
- Standard : 모든 값을 입력할 수 있습니다.
- Autocorrected : 입력이 알 수 없는 단어인지 확인하고 알 수 없는 단어라면 사용자가 다시 입력하지 않으면 자동으로 대체합니다.
- Integer Number : 정수만 입력 가능합니다.
- Decimal Number : 소수까지 입력 가능합니다.
- Alphanumeric : 문자와 숫자 모두 입력이 가능하지만 기호는 입력이 불가능합니다.
- Name : 각 단어의 첫 글자를 자동으로 대문자로 표시합니다. (사용자가 별도로 소문자로 표시할 수 있습니다.)
- Email Address : 하나의 @ 기호로 구성된 영, 숫자 문자열을 입력할 수 있습니다.
- Password : 모든 문자를 입력할 수 있습니다. 하지만 입력한 모든 문자를 *로 치환해서 숨김니다.
- Pin : 정수만 입력 가능합니다. 하지만 입력한 모든 문자를 *로 치환해서 숨김니다.
- Custom : 라인, 입력, 키보드 유형 및 유효성 검사를 사용자가 지정할 수 있게 합니다.
- 입력할 값의 타입입니다.
- Line Type
- 텍스트 필드 내에서의 텍스트 형식을 정의합니다.
- Single Line : 한 줄로 입력합니다.
- Multi Line NewLine : 다음 줄을 허용합니다. 꽉 채워서 문자를 입력하면 다음 줄로 이동합니다.
- Multi Line Submit : 다음 줄을 허용합니다. 꽉 채워서 문자를 입력하면 입력된 줄을 제출한 다음 다음 줄을 처음부터 입력받습니다.
- 텍스트 필드 내에서의 텍스트 형식을 정의합니다.
- Placeholder
- 현재 인풋 필드와 연동되어 있는 Text 객체입니다.
- 값을 입력하기전 " 입력하시려면 여기를 클릭해주세요.."와 같이 나오는 문구입니다.
- Caret Blink Rate
- 카렛 (마우스 커서의 깜빡임)의 깜빡임 속도입니다.
- Caret Width
- 카렛의 두께입니다.
- Custum Caret Color
- 카렛의 색깔을 커스텀 할지를 결정합니다.
- Caret Color
- 카렛의 색깔입니다.
- Custum Caret Color를 체크해야 바꿀 수 있습니다.
- Selection Color
- 마우스 좌클릭으로 입력한 Text를 드래그 했을 때 나오는 색깔입니다.
- Hide Mobile Input
- 모바일 Input을 숨길 것인지 결정합니다
- Read Only
- 읽기 전용을 할지 결정합니다. 체크하면 읽을 수만 있고 입력하진 못합니다.
이제 이벤트입니다.
- On Value Changed
- 입력을 할 때마다 호출됩니다.
- 사용 예시) 1, 2, 3, 4가 입력되면 삭제 시킴
- On Submit
- 입력을 마치고 엔터를 누르면 호출됩니다.
- On End Edit
- 입력을 마치고 밖을 클릭하면 호출됩니다. (모바일에서 사용하는거 아니면 적용이 잘 안 되는거 같아요!)
2. Input Field의 사용법
정말 간단한 로직을 한 번 짜보겠습니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
// InputField를 사용하기 위한 네임 스페이스
using UnityEngine.UI;
public class InputFieldTest : MonoBehaviour
{
[SerializeField]
private InputField field;
private void Awake()
{
// 상호작용 여부
field.interactable = true;
// 문자 갯수 한계 변경
field.characterLimit = 0;
// 입력 타입 변경
field.contentType = InputField.ContentType.Standard;
}
public void IpLugJung()
{
print("입력 중입니다!");
}
public void IpLugEnd()
{
print("입력을 끝냈습니다!");
}
}
이제 적용을 시키겠습니다.
(이때 public 함수가 아니면 추가하는 곳에서 보이지 않습니다!)
이제 실행해보고 포스팅을 마치겠습니다.
이상으로 포스팅을 마치겠습니다.
다음 포스팅에서는 버튼에 대해서 공부해보겠습니다!
'유니티 기초 > 개념' 카테고리의 다른 글
[Unity 개념] 13. 슬라이더 (Slider)에 대하여 (0) | 2024.03.12 |
---|---|
[Unity 개념] 12. 버튼 (Button)에 대하여 (0) | 2024.03.11 |
[Unity 개념] 10. 텍스트에 대하여 (0) | 2024.03.11 |
[Unity 개념] 9. UI (User Interface)에 대하여 (0) | 2024.03.11 |
[Unity 개념] 8. 플레이어 점프에 대하여 (2) | 2024.03.06 |