Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

GUMI Dev

[유니티 Input] 버튼 본문

Unity

[유니티 Input] 버튼

GUMI Dev 2021. 11. 17. 05:27

유니티창에서 "Edit - Project Settings - Input Manager"에서 버튼 설정이 가능하다. 

 

Axes 아래 리스트는 버튼들의 리스트이며, "Size"는 버튼의 갯수(?)를 의미한다.

* Input Manager에서 기본적으로 지원하는 버튼들 외에 새로 추가하거나 변경하고자 하는 버튼이 있다면 Size 수를 늘려서 추가할 수 있다. 반대로 Size 수를 줄일 수도 있다. 

 

"Horixontal"은 횡이동 버튼이며, "Vertical"은 종이동 버튼이다. 

 

아래 Input Manager를 보면 동작의 이름에 따라 특정 버튼이 각각 디폴트로 부여되어있다. 

"Positive Button"에 해당되는 버튼을 누르면 실행이 되는 식이다. 

"Alt Positive Button"은 "Positive Button" 대신 사용할 수 있는 버튼이다. 

 

 

GetButton: Input 버튼 입력을 받으면 true

버튼의 입력을 받는 방법 또한 세가지 행동 지표에 따라 함수가 나누어진다. 

 

 GetButtonDown

 GetButton

 GetButtonUp

 

앞서 Input Manager에서 "Jump" 항목은 스페이스 버튼으로 조작할 수 있도록 디폴트가 설정되어있는 것을 볼 수 있었다. 

이에 따라 C# 스크립트 창에서 "Jump"를 활용해보았다. 

여기서는 스페이스 버튼을 누르는 행동 지표 세 가지에 따라 다르게 동작하도록 설정을 해보았다.  

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LifeCycle : MonoBehaviour
{
    void Update()
    {
        {
            if (Input.anyKeyDown)
                Debug.Log("플레이어가 아무 키를 눌렀습니다. ");

            // 실제로 점프를 모아서 사용하는 게임에서는 해당 부분은 사용하지 않는다. 
            //if (Input.GetButtonDown("Jump")) 
            //    Debug.Log("점프!");

            if (Input.GetButton("Jump"))
                Debug.Log("점프를 모으는 중");

            if (Input.GetButtonUp("Jump"))
                Debug.Log("슈퍼 점프!");
        }
    }
}

 

실행해본 결과..