Unity에서 생성한 버튼에 키보드의 키를 자동으로 할당하고 싶다!

4756 단어 C#Unity

이 기사에 대하여



Unity1Week에서 이전에 작성했던 게임에서 고민한 내용에 대해 쓰려고 합니다.
개인적인 대처로 회사에서 게임 개발하고 있지 않지만 문제 없지요!

어떤 게임인가?



표시되는 수치를 2진수로 변환해 대답한다는 게임을 만들었다.
재미 없었기 때문에 봉인했다.



선택한 난이도에 따라 비트 수가 달라진다는 것.
이때 PC로 한다면 키보드 입력을 할 수 있도록 하고 싶었고, 비트수의 지정시(난이도 선택시)에 자동으로 버튼과 키 입력을 연결할 수 없을까 생각했습니다.

소스 코드



Button을 넣을 범위 지정에 있는 객체를 놓고 Horizontal Layout Group을 거기에 추가합니다.


CreateButton.cs
public string[] keyString = { "q", "w", "e", "r", "t", "y", "u", "i", "o", "p" };

private void OnEnable()
{
    for (int i = 0; i < 10; i++)
    {
        var obj = Instantiate(ButtonPrefab, this.transform);
        var bitNumber = (int) Math.Pow(2, i);
        var keyCode = keyString[i]; 
        obj.GetComponent<BitChanger>().InitSetProperty(bitNumber, keyCode);
    }

    _gameManager.CreateQuestions();
}

BitChanger
void Update()
{
    if (Input.GetKeyDown(keyString))
    {
        PushBitButton();
    }
}

public void InitSetProperty(int setBitNumber, string setKeyString)
{
    this.thisBitNumber = setBitNumber;
    this.keyString = setKeyString;
}

좋은 웹페이지 즐겨찾기