게임 분석, 리뷰, 소개, 개발 전문 블로그


오늘 공부할 내용

유저의 닉네임을 생성, 변경하는 방법과 닉네임 규칙(한글, 영어, 숫자만)을 구현하는 방법에 대해 다룹니다.

 

뒤끝개발자 - 게임 유저 관리/게임 유저 닉네임 설정 페이지를 참고했습니다.

 

 

아래는 테스트 영상입니다.

https://tv.kakao.com/channel/3265468/cliplink/397802483

 


스크립트 작성

닉네임 규칙 만들기

BackEndNickname.cs 를 만들고 아래 코드를 작성하세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
using UnityEngine;
using BackEnd;
using System.Text.RegularExpressions;
 
public class BackEndNickname : MonoBehaviour
{
    public InputField nickNameInput;
 
    // 한글, 영어, 숫자만 입력 가능하게
    private bool CheckNickname()
    {
        return Regex.IsMatch(nickNameInput.text, "^[0-9a-zA-Z가-힣]*$");
    }
}
 

#코드 설명

Regex.IsMatch(nickNameInput.text, "^[0-9a-zA-Z가-힣]*$"); 는 정규식 표현 중 하나로 

Regex.IsMatch(검토할 문자, 패턴) 입니다. 

^ 시작, $ 종료, * 0개 이상라는 의미이며 (^ $ 안에 0개 이상의) []괄호는 범위 조건을 지정할 때 사용합니다.

[0-9] 숫자 범위, [a-z] 소문자 영어 범위, [A-Z] 대문자 영어 범위, [가-힣] 완성된 한글 글자 범위

풀어서 해석하자면 ^ 부터 *$ 의 값이 숫자, 대소영문, 한글 이어야 한다.

 

* 한글이 아닌 국가에 따라 그 국가에 맞는 닉네임 규칙을 만들때 아래 링크를 참고한다.

https://m.blog.naver.com/PostView.nhn?blogId=amurorei82&logNo=10189119746&proxyReferer=https%3A%2F%2Fwww.google.com%2F 

 

 

닉네임 생성하기

BackEndNickname.cs 에 아래 코드를 추가합니다.

 

#코드 설명

Backend.BMember.CreateNickname 닉네임을 만들 때 사용하는 코드입니다. 결과값이 BackendREturnObject 로 전달됩니다.

* 닉네임은 최대 20글자까지 설정할 수 있습니다.

* 중복 닉네임은 불가합니다.

* 닉네임 앞 뒤에 공백이 있을 수 없습니다.

 

닉네임 변경하기

 

#코드 설명

닉네임 생성하고 비슷합니다. Backend.BMember.UpdateNickname 로 변경합니다.

닉네임 변경에 Backend.BMember.CreateNickname  로 테스트했는데 잘 됩니다. 그래도 변경하는 상황에서는 UpdateNickname를 사용하라고 만들어준 것을 보니 다른 점이 있을거라 생각합니다.

 


UI 작업

UGUI의 InputField를 만들고 이름을 InputField_Nickname으로 변경한 뒤 Character Limit 에 8을 입력했습니다. 그럼, 최대 8글자까지 입력이 가능하게 됩니다.

 

다음 빈게임오브젝트를 만들고 이름을 BackEndNickname 으로 만든 다음 BackEndNickname.cs 를 컴포넌트로 추가한 다음 Nick Name Input 변수에 위에서 만든 InputField_Nickname 을 연결했습니다.

 

버튼 2개를 만들고 이름을 Button_NicknameCreate, Button_NicknameUpdate 로 변경한 다음, 클릭이벤트로 BackEndNickname 오브젝트를 연결해서 알맞은 함수를 연결했습니다. (위에서 만든 함수)


동영상 강좌

유튜브: https://youtu.be/Ioo8mlP4jsg

네이버: https://tv.naver.com/v/8818729