서론

앞서 원하는 버튼을 찾고 클릭이 가능할때까지 기다리고 클릭하는 과정을 진행해 보았는데요.

이번엔 특정 오브젝트의 텍스트를 얻어오거나, 텍스트를 설정하는 방법을 설명하겠습니다.

InputField 만들기

  • 먼저 이전에 만들었던 Button, Scroll View를 삭제해줍니다.
  • Hierarchy창에서 Canvas를 우클릭 후 InputField를 만들어주세요.
  • Hierarchy창에서 Canvas를 우클릭 후 Button을 만들어주세요.
  • Hierarchy창에서 Canvas를 우클릭 후 Text를 만들어주세요.
  • Scene창에서 InputField, Button, Text의 위치를 아래와 같이 조정해줍니다.

누르면 Text가 변경하는 Button 만들기

  • Project창에서 Scripts폴더를 선택하고, 우클릭 > Create > C#Script를 클릭하여 스크립트를 생성하고 ButtonScript로 이름을 짓습니다.
  • 이후 파일에 아래 내용을 넣어줍니다.
using UnityEngine;
using UnityEngine.UI;

public class ButtonScript : MonoBehaviour
{
    public InputField inputField;
    public Text text;

    public void OnClick()
    {
        text.text = inputField.text;
    }
}
  • Hierarchy창에서 Button을 선택합니다.
  • Inspector창에서 Add Component를 누른 후 Button Script를 추가합니다.
  • Hierarhcy창에 있는 Input Field, Text를 Inspector창 Button Script아래 비어있는 Input Field, Text 칸에 드래그하여 넣어줍니다.
  • Inspector창에서 On Click에 + 아이콘을 누릅니다.
  • Hierarhcy창에 있는 Button를 Inspector창 On Click아래 비어있는 칸에 드래그하여 넣어줍니다.
  • No Function을 클릭 후 ButtonScript > OnClick() 으로 설정합니다.

텍스트를 변경해보기

  • gamium-testing 하위에 test.py 파일을 아래와 같이 수정해줍니다.
from gamium import *

# 드라이버 세션을 시작합니다.
service = TcpGamiumService("127.0.0.1", 50061)
gamium = GamiumClient(service)
# 연결을 시작합니다.
gamium.connect()
# ui를 조작할 수 있는 객체를 가져옵니다.
ui = gamium.ui()

# text을 설정합니다.
ui.set_text(By.path("/Canvas[1]/InputField[1]"), "gamium")

# 버튼을 클릭합니다.
ui.click(By.path("/Canvas[1]/Button[1]"))

# 변경된 text를 가져옵니다.
text = ui.get_text(By.path("/Canvas[1]/Text[1]"))
print(text)

  • Unity Editor창에서 Play버튼을 누릅니다.
  • VSCode 터미널에서 아래 명령어를 통해 실행해봅니다.
python3 test.py

이제 Text가 설정되고 버튼이 눌려서 아래와 같이 New Text 메시지가 변경하는 것을 확인할 수 있습니다. 👏

0:00
/0:03