본문 바로가기
🌐 유니티 (Unity)

Day 23 - 탑뷰게임 만들기(InputField)

by shin0707 2024. 5. 10.
728x90
반응형

  • 주제

1. InputField

2. 버튼 클릭시 메인씬으로 전환(+키보드로 버튼 입력, 마우스로 버튼 둘 다 가능한 스크립트)


  • 공부내용

1. InputField

직접 텍스트를 입력할 수 있게 해주는 UI.

1-1. 생성방법: Canvas 생성 -> UI -> Input Field 생성(흰바탕에 Enter text... 등장)

 

1-2. 개념: InputField 밑에는 Placeholder와 Text가 있는데,

Placeholder는 텍스트 입력 전에 뜨는 문구를 관리하는 곳이고

Text는 입력할 텍스트를 관리하는 곳이다.

 

1-3. 글자 수 제한: InputField 인스펙터창 -> Character Limit

1-4. 입력 텍스트 종류 설정: InputField 인스펙터창 -> Content Type


2. 버튼 클릭시 메인 씬으로 전환

: Hierarchy창에서 Button이미지 생성 -> Button UI 생성 -> 이미지에 붙여줄 스크립트 작성

-> 이미지에 스크립트 추가 -> Button UI 인스펙터 창 On Click()에서 +버튼 클릭

-> Runtime only 밑에 이미지 오브젝트 추가 -> 옆 바에서 스크립트 찾아서 추가

버튼 인스펙터 창

 

2-1. 키보드로 버튼 입력, 마우스로 버튼 둘 다 가능한 스크립트

(PlayerPrefs: 게임 세션 사이의 플레이어 기본 설정을 저장하는 클래스로

문자열, float 및 정수 값을 사용자의 플랫폼 레지스트리에 저장할 수 있다.)

using UnityEngine;
using UnityEngine.UI;
 
public class ResultNameInput : MonoBehaviour
{
    public InputField playerNameInput;
    private string playerName = null;
 
    private void Awake()
    {
        playerName = playerNameInput.GetComponent<InputField>().text;
    }
 
    private void Update()
    {
        //키보드
        if (playerName.Length > 0 && Input.GetKeyDown(KeyCode.Return))
        {
            InputName();
        }
    }
 
    //마우스
    public void InputName()
    {
        playerName = playerNameInput.text;
        PlayerPrefs.SetString("CurrentPlayerName", playerName); //playerName 저장
    }
}

 

참고사이트

https://drybone-developer.tistory.com/94

 

[Unity UGUI] InputField 인풋 필드 + α (플레이어 이름 입력)

이번에도 이 프로젝트에 썼던 것. 플레이어가 이름을 입력하고 입력 정보를 기억해서 결과창에 써먹는 식이었습니다. 직전에 쓴 랭킹 글과 같이 보면 좋을지도! 왜냐하면 지금 쓰는 글 이후에

drybone-developer.tistory.com

 

728x90
반응형

loading