반응형
매번 예외처리로 참거짓을 반환하게했는데 다른 방법이 있을까?
라는 고민때문에 찾아봤는데 있었다.
더 쉬웠다.
유니티에 내장된 characterLimit를 쓰면 된다.
.
.
[SerializeField] private TMP_InputField playerNickName;
private void Start()
{
playerNickName.characterLimit = 8;
playerNickName.onValueChanged.AddListener(OnInputValueChanged);
}
.
.
private void OnInputValueChanged(string word)
{
string NameWord = Regex.Replace(word, @"[^0-9a-zA-Z가-힣]", "");
if (playerNickName.text != word)
{
playerNickName.text = NameWord;
playerNickName.caretPosition = playerNickName.text.Length;
}
}
characterLimit를 쓰면 글자수가 제한되고,
Regex.Replace(word, @"[^0-9a-zA-Z가-힣]", "") 이걸쓰면 특수문자를 제외한 글자를 사용할 수 있게한다.
물론 다른 방법도 많으니깐 찾아보거나 내가 참고한 밑에 블로그를 보면 될 것 같다.
InputField 특정 문자만 작성 가능하게 하기
>> InputField 특정 문자만 작성 가능하게 하기
반응형
'Record > TIL' 카테고리의 다른 글
[Unity] 형변환: 업캐스팅, 다운캐스팅 알아보기 (2) | 2024.08.20 |
---|---|
[Unity] 유니티 렌더링 순서 (0) | 2024.08.19 |
[Unity] 머티리얼 패턴은 유지하면서 크기를 키우고 싶을 때 방법 (0) | 2024.08.14 |
[Unity] DOTween 이용해서 카메라에 오브젝트 튀어나오게 하기 (2) | 2024.08.13 |
[Unity] 최종프로젝트 "Where's My Doll?" 유저테스트 부탁드립니다! (4) | 2024.08.12 |