Power Apps에서 게임을 만들고 배운 노하우 -1- 게임 내 타이머를 만들자

문득, 저도 다른 맹자처럼 Power Apps로 게임을 만들어 보려고 생각해, 즉시 인베이더 게임을 만들어 보았습니다.

Power Apps로 만드는 인베이더 게임. 게임으로서 제대로 만들어 가면 클리어하기가 어려워져 왔다. #jppug #jpaug 피 c. 라고 r. 코 m / kj3cBW 쿠오 — Ota Hirofumi (@hrfmjp) February 2, 2020


게임을 만들면서 배운 노하우를 몇 개로 나누어 Qiita에 써 남길까 생각합니다.



게임 내 타이머 만들기



게임처럼 애니메이션 등을 하고 싶은 경우는 타이머가 있으면 편리합니다. 그래서 Power Apps로 만드는 게임 제작에서도 타이머를 만듭니다.



타이머 컨트롤



Power Apps는 "타이머"컨트롤을 제공하므로 기본적으로 여기를 사용합니다.





이 타이머 컨트롤은 Value 속성으로 타이머가 움직이기 시작한 후 1/1000 초 단위의 경과 시간을 반환합니다. 하지만 큰 문제점으로 그 값의 정밀도는 1/1000초 단위가 아닙니다. 값을 관찰하면 아래 두 자리는 "00"또는 "50"중 하나가 될 것 같습니다.



이것은 좋지 않다. 그렇다고 해서 원래 1/1000초 단위로의 정밀도를 요구하는 게임을 만들 생각도 없기 때문에, 여기는 나누어 다음의 값을 사용하려고 합니다.



Timer1.Value/50


Timer1은 타이머 컨트롤의 이름입니다. 50으로 나누면이 값은 타이머가 시작될 때 0에서 1씩 직렬로 증가하는 사용하기 쉬운 값입니다.



타이머 값은 슬라이더 컨트롤에 유지



게임의 작성을 진행하는데 있어서, 타이머에 의해 만들어진 시간을 여러 장면에서 참조하지 않으면 안됩니다. 필요할 때마다 타이머 컨트롤로부터 값을 취득하는 것도 좋지만, Power Apps의 「슬라이더」컨트롤을 사용하면 편리했습니다.





이 슬라이더 컨트롤의 'Default' 및 'Max' 속성에 이전 방정식을 넣습니다.





그렇다면 어떨까요? 타이머가 움직이기 시작하면 슬라이더 컨트롤의 Value 속성이 자동으로 0에서 1씩 증가합니다. Power Apps에서는 수식에 포함된 값이 변경되면 자동으로 다시 계산되기 때문입니다. 이 동작에 익숙해지면 Power Apps에서 앱을 만드는 것이 매우 쉬워집니다.



또한 값이 늘어날 때마다 슬라이더 컨트롤의 "OnChange"가 실행되므로 시간이 바뀌면 뭔가 하는 등의 처리도 추가할 수 있습니다.



요약



Power Apps에서 게임을 만들 때 '타이머' 컨트롤을 그대로 사용하려고 하면 사용하기 쉽지 않았습니다. 거기서 정밀도를 떨어뜨린 자작 타이머를 만들기로 했습니다.



그 자체 제작 타이머를 만들 때 슬라이더 컨트롤을 활용하면 값을 꺼내는 것도 편리하고, 시간에 따라 무언가의 처리를 실행할 수 있는 편리한 타이머를 작성할 수 있었습니다.



와 같은 형태로, 또 몇개의 게임 작성시에 생각한 노하우를 투고해 가고 싶습니다.


좋은 웹페이지 즐겨찾기