게임에 가상 상점 추가하기 1편 | hyperPad Documentation

Loading...

Logo
Documentation튜토리얼게임에 가상 상점 추가하기 1편
튜토리얼

게임에 가상 상점 추가하기 1편

Last updated July 6, 2015

게임의 플레이어가 게임을 완료했거나 지루해져 가고 있다면, 잠금 해제 가능한 아이템이나 캐릭터를 위한 상점을 만드는 것이 리플레이 가치를 높이고 유지하는 데 좋은 방법입니다.

이 튜토리얼에서는 사용자가 게임에서 생성한 포인트로 아이템을 "구매"하는 인앱 상점을 만드는 방법에 대해 다룰 것입니다!

이 예제에서 우리의 게임은 매우 간단합니다... 플레이어를 지속적으로 클릭하여 더 많은 포인트를 얻세요! 클릭당 더 많은 포인트를 얻고 싶다면 "플레이어"를 업그레이드하세요.

우선, 모든 장면에 공유될 돈을 설정하겠습니다.

돈 추가하기

가장 먼저, 글로벌 UI로 이동하여 우리의 돈을 나타낼 레이블을 추가하고 텍스트를 0으로 설정합니다. 또한, 그 레이블이 무엇인지 알려주는 또 다른 레이블을 추가합니다.

돈 레이블은 화면 밖으로 약간 이동시켜서 게임을 할 때 표시되지 않도록 합니다.

이제 돈을 저장하고 로드하는 작업을 처리할 것입니다. 플레이어가 게임을 떠날 때마다 그들이 벌어들인 돈이 여전히 존재하도록 하는 것입니다!

돈 저장하기

돈 레이블의 행동으로 들어갑니다.

먼저 우리의 돈을 업데이트하는 작업을 처리할 것입니다.

Behavior Bundle, Get Label, Save Value, 그리고 Broadcast Message 행동이 필요합니다.

행동을 위 사진처럼 배열하고 Behavior Bundle을 OFF로 설정합니다.

많은 일이 있었네요. 이제 이것이 무엇을 의미하는지 살펴보겠습니다.

무언가가 Behavior Bundle을 실행하면, Get Label을 사용하여 현재의 돈 값을 가져옵니다. 왜 Box Container를 사용하지 않았는지 궁금하실지도 모르지만, 현재 다른 객체에 있는 동안 Box Container의 값을 가져오는 방법이 없기 때문입니다... 아직은요.

다음으로, 그 Get Label 값을 파일에 저장하고 싶습니다. 그렇게 하려면 Get Label의 출력을 드래그하여 Save Value의 Value To Save 입력 필드에 드롭하세요.

Broadcast Message 행동은 다른 객체에 돈이 업데이트되었다는 것을 알립니다. 이를 사용하여 장면의 레이블을 새 돈 값으로 업데이트할 수 있습니다.

돈 로드하기

이제 우리가 저장하는 작업을 마쳤으니, 플레이어가 앱을 열 때 그들이 벌어들인 돈을 로드하도록 만듭시다!

Money 레이블 안에 Behavior Bundle, Load Value, 또 다른 Behavior Bundle, 그리고 Behavior On을 추가해야 합니다. 아래 사진처럼 배열합니다.

이제 If 행동을 추가하고, 또 다른 If를 추가한 후 첫 번째 If의 옆에 끌어다 놓아 Else If가 되게 하고, Change Label과 Behavior On을 추가합니다. Behavior On은 이전에 설정한 Broadcast 메시지를 켜도록 하세요.

행동을 아래 사진처럼 배열하세요:

자, 많은 일이 있었으니 우리가 방금 만든 것을 살펴보겠습니다!

아마도 여러분은 Behavior Bundles의 목적이 무엇인지 궁금할 것입니다. Behavior Bundles는 두 가지 목적을 가집니다... 첫째, 행동을 조직하고, 둘째, 행동의 실행 순서를 강제하여 이벤트처럼 왼쪽에서 오른쪽으로 실행되도록 합니다.

따라서 우리의 Load Value 행동을 Behavior Bundle에 연결하여 장면이 시작될 때 저장된 값을 파일에서 로드합니다. Load Value 속성에서 이전에 만든 Save Value 행동을 선택하는 것을 잊지 마세요.

다음 Behavior Bundle은 값이 로드되었는지 확인합니다. If Behavior는 값이 비어 있지 않을 경우 레이블을 변경하는 역할을 합니다. 이렇게 하려면 첫 번째 입력 필드에 Load Value Behavior의 출력을, 두 번째 입력 필드는 비어 있도록 설정합니다.

If Behavior는 Change Label로 연결되고, Load Value가 실제로 값을 로드한 경우에만 실행됩니다.

Else Behavior는 무엇이든 확인할 필요가 없습니다. 항상 true로 간주되며 그 자식 Behavior On을 실행합니다. Behavior On은 이전에 생성한 Save Behavior Bundle을 실행하여 플레이어가 가진 초기 금액을 저장합니다.

돈 사용하기!

이제 돈을 로드하고 저장하는 작업을 마쳤으니, 돈을 사용하는 방법을 만들어봅시다! 그렇게 하기 위해 레이블로 구성된 통합 거래 시스템을 만들어 보겠습니다.

우선 메인 캔버스에 세 개의 레이블을 끌어다 놓습니다. 첫 번째는 현재 거래 금액을 나타내고, 두 번째는 상태를 나타내며, 세 번째는 "돈이 부족합니다!" 혹은 "구매 완료!"와 같은 메시지를 나타냅니다. 또한, 그들이 무엇인지 알 수 있도록 레이블을 붙입니다. 모든 것을 약간 화면 밖으로 이동시켜서 게임을 할 때 플레이어에게 보이지 않도록 합니다.

또한 거래 로직을 처리하기 위한 또 다른 객체를 캔버스에 드래그합니다. 이 예제에서는 "Transaction Logic"이라는 레이블을 사용할 것입니다.

Transaction Logic 레이블의 행동으로 들어가서 구매의 로직을 처리할 수 있는 로직을 만듭니다.

우리가 해야 할 일은 플레이어가 거래를 완료하기에 충분한 돈이 있는지 확인하는 것입니다. 위해 Behavior Bundle을 드래그하고 두 개의 Get Label 행동을 연결하여 아래 그림과 같게 만드세요. Behavior Bundle은 OFF로 설정하여 씬이 로드될 때 거래가 발생하지 않도록 합니다.

첫 번째 Get Label은 돈 레이블을 가져오고, 두 번째는 거래 금액을 가져옵니다. 우리가 확인하고자 하는 것은 돈이 거래 금액보다 적은지 여부입니다. 만약 그렇다면 거래 상태를 "실패"로 바꾸고 메시지를 "돈이 부족합니다!"로 설정합니다.

그렇게 하려면 If Behavior와 두 개의 Change Label을 추가합니다. 행동을 아래 사진처럼 배열합니다.

If 행동은 돈 레이블이 거래 금액보다 적은지 확인합니다.

이제 역으로 확인해 볼 것입니다. 만약 사용자가 충분한 돈이 있다면 거래 금액을 돈에서 빼고 돈을 저장합니다. 그렇게 하려면 이전처럼 Else If 행동을 생성하고 나머지 로직을 조직하기 위해 Behavior Bundle을 연결하고 Subtract Values 행동, Change Label Behavior, 그리고 Behavior On을 추가합니다.

Subtract Values 행동은 거래 금액을 돈에서 빼는 역할을 합니다.

그런 다음 Change Label을 사용하여 돈 레이블을 Subtract Values 행동의 출력으로 변경합니다.

Behavior On 행동은 이어서 저장하기에서 사용한 Save 행동 번들을 실행할 것입니다.

이제 트랜잭션이 성공했는지 확인하기 위해 성공 상태를 만들어야 합니다!

이를 위해 두 개의 Change Label 행동을 드래그하여 추가합니다.

상태 레이블을 "성공"으로 설정하고, 거래 메시지를 "구매 완료!"로 설정합니다.

이제 우리는 돈을 사용하는 방법을 만들었습니다. 거래 금액을 Change Label 행동으로 설정하는 것만으로도 우리는 Behavior On을 사용하여 거래 로직을 실행할 수 있습니다. 성공 여부를 확인하려면 상태 레이블을 확인하면 됩니다. 결과가 "실패" 또는 "성공"인지 확인하세요.

돈 벌기!

우리는 플레이어가 돈을 쓰게 했지만 그들이 돈이 없으면 어떻게 셀 수 있을까요? 그들이 쓸 수 있는 돈을 벌 수 있는 방법을 제공해야 합니다. 아직 구매 로직에 있으니 또 다른 Behavior Bundle을 추가하여 구매 로직을 처리하고 설정을 OFF로 만듭니다. 씬이 시작될 때 뭔가를 미리 구매하지 않도록 하려는 것입니다.

우리가 할 첫 번째 일은 돈과 거래 금액을 가져오는 것입니다. 그러므로 아래와 같이 두 개의 Get Label 행동을 추가합니다.

그런 다음 돈을 거래 금액에 추가합니다. Add Value 행동과 Change Label 행동 그리고 Behavior On을 추가합니다.

Change Label 행동은 Add Value 행동의 출력을 사용하여 돈 값을 변경하는 역할을 합니다. Behavior On은 이전 섹션에서 했던 것처럼 우리의 새로운 돈 값을 저장합니다.

마지막으로 거래 상태와 메시지를 생성합니다. 두 개의 Change Label 행동을 추가하여 상태를 "성공"으로 설정하고 메시지를 "판매 완료!"와 같은 내용으로 설정합니다.

이제 우리는 플레이어가 돈을 벌 수 있는 능력을 가집니다. 간단히 거래 금액을 설정하고 Behavior On을 사용하여 벌기 Behavior Bundle을 실행하여 사용자의 돈에 추가할 수 있습니다.

앞으로의 방향

지금까지 우리는 플레이어가 돈을 가지고 있고 그 돈을 사용하여 구매를 하는 거래 시스템을 만들었습니다. 우리의 거래 시스템은 또한 플레이어가 돈을 벌 수 있는 능력을 제공합니다. 거래 시스템은 또한 돈이 지속되도록 하여 플레이어가 앱을 나갔다가 다시 돌아오더라도 같은 금액을 유지할 수 있도록 합니다.

다음 튜토리얼에서는 플레이어를 위한 아이템 구매와 그들의 아이템이 지속되도록 하는 방법에 대해 다룰 예정입니다.