주 메뉴, 게임 메뉴, 세이브/로드 화면, 대사창 등, 렌파이에서 볼 수 있는 화면을 모두 가리켜 스크린이라고 합니다. 그리고 스크린이 작동하는 방식을 제어하는 데 쓰는 언어를 바로 스크린 언어라고 합니다. 스크린 언어를 이용하면 기존 스크린들을 바꿀 수도 있고, 새로운 스크린을 만들 수도 있습니다.
스크린 만들기
먼저 init 블록에서 screen 명령어를 이용해 스크린을 만듭니다. 그리고 screen 명령어를 블록으로 만든 후 그 안에 스크린 언어를 이용해 화면에 나타낼 것을 적어주면 됩니다.이 때 add나 text 등은 스크린 언어의 일부로, UI 명령문이라고 합니다. UI는 스크린을 구성하게 되는 것, 예를 들면 위의 add나 text 가 만들어내는 것을 가리킵니다. 위에 add처럼 각 UI 명령문 다음에는 스타일 속성을 적을 수 있습니다. 속성값을 바꿔주면 해당 UI의 위치를 바꾸거나 크기를 바꾸거나 할 수 있습니다.
show screen / hide screen
screen 명령문으로 만든 스크린을 게임에서 나타내려면 show screen 명령문을 써줍니다.show screen 명령문으로 불러온 스크린은 hide screen 명령문으로 숨기기 전까지는 화면에 계속 나타나게 됩니다. 게임상의 날짜나 항상 표시해야 할 정보를 나타낼 때 유용합니다.
스크린 만들기 2
스크린에는 이미지나 글자외에도 버튼이나 막대 그래프, 이미지맵을 넣을 수 있습니다. 그러나 이 버튼이나 막대 그래프, 이미지맵은 위에 add 나 text와는 달리 플레이어와 상호작용을 하는 UI입니다. 쉽게 말하자면 이것들은 건드리면 반응하도록, 혹은 게임 플레이에 영향을 줄 수 있도록 만들 수 있다는 얘기입니다.버튼 관련 UI는 action 속성을 입력해야 상호작용을 하고, 막대 그래프를 그리는 바 UI는 value 와 range, changed, adjustment 등을, 이미지맵은 hotspot 이나 hotbar로 속성을 입력해야 상호작용을 원활히 합니다. 이 글에서는 버튼에 대해서만 설명해두었습니다.