유용한 스크린 명령문 및 속성
use
한 스크린을 다른 스크린의 일부로써 사용할 때나, 한 스크린이 다른 스크린의 작동을 제어하는 스크린일 때에는 use를 이용하면 됩니다.예를 들어 A스크린에 있는 버튼은 눌릴 때마다 각기 다른 스크린을 띄운다면 각 스크린마다 use 를 써서 A스크린을 포함시켜야 합니다.
이 예에 적합한 스크린이 바로 네비게이션 스크린입니다. 네비게이션은 게임 중에 마우스를 오른쪽 클릭하면 나타나는 화면에서 볼 수 있습니다.
screens.rpy 에서 게임 메뉴 스크린들의 스크립트(save, load, preference)를 살펴보면 모두 use navigation 이라는 명령어를 사용하고 있는 것을 확인할 수 있습니다. 이는 게임 메뉴 스크린이 navigation 스크린을 이용한다는 것을 뜻합니다.
tag
그런데 게임 메뉴 스크린 스크립트를 확인해보면 또 다른 명령어가 겹치는 것을 알 수 있습니다. 바로 tag 인데, 이 명령어는 이미지 이름에서 이미지 태그가 하는 역할과 비슷합니다.즉, 같은 태그 이름을 가진 스크린이 나타나려 할 때는, 이전 스크린은 자동으로 지우고 새 스크린을 나타낸다는 의미입니다. 같은 부류의 스크린은 같은 태그로 묶으면 일일히 hide screen 명령어로 지우는 노고를 덜 수 있습니다.
zorder
zorder는 스크린 표시 순서를 정할 때 쓰입니다. 예를 들면 포토샵 같은 데에서는 레이어가 여러개 겹쳐졌을 때, 레이어 목록에서 제일 상단에 있는 레이어가 제대로 표시되고 그 아래 레이어는 첫 레이어 뒤에 가려져서 나타납니다. 이같은 동작을 렌파이에서는 zorder 로 정한다는 의미입니다. zorder 값이 낮은 스크린이 제일 앞쪽에 나타나고, 값이 높으면 앞쪽 스크린 뒤에 나타납니다.at
at은 모든 UI에 적용할 수 있는 공통 속성으로, transform 명령어를 이용해 만든 변환 동작을 적용하는데 쓰입니다. 이 at은 개별 UI에 적어 사용할 수 있습니다.ATL로는 온갖 움직임을 만들어 줄 수 있으므로 at과 transform 잘만 이용하면 있어보이는(..) 게임을 만들 수 있습니다.
style
모든 UI에 적용할 수 있는 공통 속성으로, UI에 적용할 스타일의 이름을 적어 사용합니다.스타일 적용에 대한 설명은 한 번 한 적이 있으며, 이쪽에 자세히 나와있습니다.
기타
이 외의 스크린 명령문, 스크린 속성, UI 공통 속성은 각 단어에 링크된 매뉴얼에서 확인할 수 있습니다. 특별한 경우가 아니면 잘 쓰이지 않습니다.스크린 이용시 주의할 점
스크린을 이용해서 버튼 등을 넣을 때는 스크린 동작이 꼬이지 않게 조심해야 합니다.가끔 게임을 시험 진행하다보면 불필요한 부분에서 버튼이 나타난다던지, 필요한 순간에는 스탯창이 안 보인다던지 하는 경우를 맞닥뜨리게 됩니다. 미리 구조를 세워놓고 스크립트를 짜도 실수가 일어날 수 있으니 한 번씩은 결과물을 눈으로 확인해보는 것이 좋습니다.