Power Apps에서 게임을 만들고 배운 노하우 -2- 게임 내 타이머를 사용하여 일정 간격으로 처리를 실행합시다.
2120 단어 PowerAppsPowerPlatform
Power Apps에서 게임을 만들고 배운 노하우 -1- 게임 내 타이머를 만들자
이번은 이 타이머를 이용해, 일정 간격으로 무언가의 처리를 실시하는 방법에 대해입니다.
전환 컨트롤을 활용합시다.
슬라이더 컨트롤을 이용한 게임 내 타이머를 이용해 일정 간격으로 처리를 실행하려고 했을 때, 구현 방법의 하나로는 슬라이더 컨트롤의 「OnChange」를 이용하는 방법이 있습니다.
처리의 패턴이 적은 경우는 그쪽의 방법이라도 좋다고 생각합니다만, 게임과 같이 다양한 처리가 필요한 경우에는 「스위치」컨트롤을 이용하는 것이 추천입니다.
이유는 Power Apps에서는 스텝 실행 등의 디버그 수단이 준비되어 있지 않기 때문에, 동작의 모습을 가능한 한 눈으로 보고 확인할 수 있도록 작성해 두는 것으로 작업 효율을 대폭 향상시킬 수 있기 때문에 입니다.
전환 제어의 동작을 이해합시다.
전환 제어의 동작은 간단합니다. 「Default」프로퍼티에 지정한 조건식이 「true」의 경우는 「Check」상태가 되고, 「false」의 경우는 「Uncheck」상태가 됩니다.
그리고, 상태가 변화했을 때 「OnChange」, 변화한 결과 Check 상태가 되었을 때 「OnCheck」, 변화한 결과 Uncheck 상태가 되었을 때 「OnUncheck」에 지정하고 있는 처리가 실행됩니다.
일정 간격으로 처리를 실행하려면
이 동작을 이해한 후, 게임내 타이머를 이용해 일정 간격으로 처리를 실행하려면 「Default」프로퍼티에 지정하는 조건식이 중요하게 됩니다.
예를 들면 이번에 작성하고 있는 게임내 타이머는 1초간에 20씩 증가하는 것이므로, 20 증가할 때마다 Check 상태로 전환해 주면 됩니다. 이렇게 하려면 다음과 같은 조건식을 Default로 지정합니다.
Mod(GameTimer.Value,20)=0
GameTimer는 게임 내 타이머로 만든 슬라이더 컨트롤의 이름입니다. 그 컨트롤의 값을 Mod 함수를 이용해 20으로 나눈 나머지(잉여)를 구해, 잉여가 0이 되었을 때에 true가 되도록 조건식을 지정합니다. (잉여는 0과 19 사이의 순서로 변경되고 반복됩니다)
이 나누는 숫자를 더 작게 하면 보다 고빈도로 처리가 실행되고, 더 크게 하면 보다 저빈도로 처리가 실행되게 됩니다.
그리고는, 이 간격으로 실행하고 싶은 처리를 「OnCheck」프로퍼티에 써 둘 뿐입니다.
요약
게임 내 타이머를 이용하여 일정 간격으로 처리를 실행하려면 "스위치"컨트롤을 이용하는 것이 좋습니다. Power Apps에서는 스텝 실행과 같은 디버깅 수단을 제공하지 않으므로 가능한 한 작동하는 방식을 눈으로 보고 확인할 수 있도록 만들어두면 생성 시 효율이 크게 향상됩니다.
조건식을 고안함으로써 보다 복잡한 타이밍에서의 처리도 가능하게 됩니다.
Reference
이 문제에 관하여(Power Apps에서 게임을 만들고 배운 노하우 -2- 게임 내 타이머를 사용하여 일정 간격으로 처리를 실행합시다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hrfmjp/items/d57baa911d74a137778c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Mod(GameTimer.Value,20)=0
게임 내 타이머를 이용하여 일정 간격으로 처리를 실행하려면 "스위치"컨트롤을 이용하는 것이 좋습니다. Power Apps에서는 스텝 실행과 같은 디버깅 수단을 제공하지 않으므로 가능한 한 작동하는 방식을 눈으로 보고 확인할 수 있도록 만들어두면 생성 시 효율이 크게 향상됩니다.
조건식을 고안함으로써 보다 복잡한 타이밍에서의 처리도 가능하게 됩니다.
Reference
이 문제에 관하여(Power Apps에서 게임을 만들고 배운 노하우 -2- 게임 내 타이머를 사용하여 일정 간격으로 처리를 실행합시다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hrfmjp/items/d57baa911d74a137778c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)