PowerApps GameDev # 1 점수 표시 글꼴을 게임처럼 보입니다.

PowerApps 게임이란?



본래는 비즈니스 앱을 개발하는 도구인 PowerApps를 사용하여
간단한 게임을 만들자! 라는 것이 있습니다.
이번에 저도 PowerApps GameCompetition이라는 것에 참가할 때
과거 기사에도 있습니다대로 게임을 작성하고 있었습니다.

PowerApps GameDev란?



PowerApps로 게임 작성을 할 때, 궁리한 ​​곳(보다 게임 같은 느낌으로 해보는 등)을 모은 것입니다.

오늘의 목표



이런 느낌이 될 수 있도록 한다!


사전 준비



점수 표시를 위한 PNG 파일



이런 느낌의 PNG 파일을 준비합시다. (0~9)


0
1
2
3
4
5
6
7
8
9














이미지 업로드



위의 PNG 파일을 준비한 후 작성중인 앱의
미디어 > 이미지로 이동하여 업로드합니다.


점수를 저장하는 변수 준비



우선, Score라고 합시다.

실제로 만들어 봅시다.



사용하는 객체는 ...



이미 알고 있다고 생각하지만 이미지 객체를 사용합니다.


첫 번째 자리



Image 속성을 설정합니다.

Score_Seg_1(Image)
Switch(Value(Mid(Text(score),Len(Text(score)),1)),
    0,ScoreFont_0_Black,
    1,ScoreFont_1_Black,
    2,ScoreFont_2_Black,
    3,ScoreFont_3_Black,
    4,ScoreFont_4_Black,
    5,ScoreFont_5_Black,
    6,ScoreFont_6_Black,
    7,ScoreFont_7_Black,
    8,ScoreFont_8_Black,
    9,ScoreFont_9_Black
)

해설



우선, Score의 첫 번째 숫자에 따라
이미지를 전환하면 좋기 때문에 Switch 함수를 사용하고 있습니다.
문제는, 1 자리수가 0~9의 어느 쪽인지를 어떻게 내는가 하는 곳이군요.

첫 번째 자리를 내는 방법



점수의 자릿수가 최대 8자리일 경우
스코어의 문자열로서의 길이는 1~8로 변동합니다.
(0~99999999)
따라서 현재 문자열의 길이 끝을 시작점으로 설정합니다.
그 1문자째를 취득하면 1자리째를 취득할 수 있습니다.
예를 들어 현재 점수가 478953점이면
문자열의 길이는 6.
MID 함수로 1 자리수를 취하는 경우는
MID(TEXT(Score),Len(Text(Score)),1)

그렇다면 반환은 3이 반환됩니다.
그리고, 그 값을 다시 수치형으로 바꾸어, Switch 함수에 건네주면, 3개의 이미지가
표시됩니다.

두 번째 자리 이후



여기도 Image 속성을 사용합니다.
첫 번째 자리와 조금 다릅니다.

Score_Seg_2(Image)
Switch(Value(Mid(Text(score),Len(Text(score))-1,1)),
    0,ScoreFont_0_Black,
    1,ScoreFont_1_Black,
    2,ScoreFont_2_Black,
    3,ScoreFont_3_Black,
    4,ScoreFont_4_Black,
    5,ScoreFont_5_Black,
    6,ScoreFont_6_Black,
    7,ScoreFont_7_Black,
    8,ScoreFont_8_Black,
    9,ScoreFont_9_Black
)

또한 점수 표시로 0 채우고 싶지 않을 때는 Visible 속성도
사용하게 됩니다.

Score_Seg_2(Visible)
If(Len(Text(score))<2,false,true)

해설



기본적으로 첫 번째 자리와 같은 생각입니다.

두 번째 자리를 내는 방법



현재 문자열의 길이의 끝에서 한 문자를 뺀 위치를 시작점으로 설정합니다.
그 1문자째를 취득하면 2자리째를 취득할 수 있습니다.
예를 들어 현재 점수가 478953점이면
문자열의 길이는 6.
MID 함수로 두 번째 자리를 취하는 경우
MID(TEXT(Score),Len(Text(Score))-1,1)

그렇다면 반환은 5가 반환됩니다.

세 번째 자리를 내는 방법



현재 문자열의 길이의 끝에서 두 문자를 뺀 위치를 시작점으로 설정합니다.
그 1문자째를 취득하면 3자리째를 취득할 수 있습니다.
예를 들어 현재 점수가 478953점이면
문자열의 길이는 6.
MID 함수로 세 번째 자리를 취하는 경우
MID(TEXT(Score),Len(Text(Score))-2,1)

그렇다면 반환은 9가 반환됩니다.

마지막으로



여러분도 좋아하는 글꼴의 이미지를 준비하고
멋진 점수 표시를 만들어 보자!
외형은 상당히 중요합니다 ♪

좋은 웹페이지 즐겨찾기