이벤트

Construct는 개발자가 최소한의 코드 또는 코드 없이 게임을 만들 수 있게 해주는 훌륭한 GUI를 제공합니다. 다음 문서에서는 Construct의 이벤트 시트를 사용하여 게임을 Basement.fun에 연결하는 방법을 검토합니다.

핵심 구성 요소

Construct 게임이 Basement.fun 플랫폼과 상호 작용할 수 있도록 프로젝트에 몇 가지 객체를 추가해야 합니다.
프로젝트에 객체를 추가하려면 레이아웃 보기로 이동하여 레이아웃에서 마우스 오른쪽 버튼을 클릭하고 새 객체 삽입을 선택한 다음 프로젝트에 삽입하려는 객체를 선택합니다. 객체를 추가한 후 이벤트 시트에서 사용할 수 있습니다.

브라우저 객체

브라우저 객체를 사용하면 콘솔에 기록할 수 있습니다. 필수는 아니지만 데이터를 확인하고 코드를 디버깅할 때 유용합니다.

AJAX 객체

AJAX 객체를 사용하면 게임이 B3 API와 상호 작용할 수 있습니다.
  • POST 요청은 각 헤더 매개변수에 대해 별도의 작업을 생성하고 모든 본문 매개변수에 대해 하나의 URL로 게시 작업을 요구합니다
  • GET 요청은 요청을 API로 보낼 단일 URL로 필요한 모든 매개변수와 값을 결합해야 합니다
  • API 응답AJAX.LastData를 사용하여 참조할 수 있습니다

JSON 객체

JSON 객체를 사용하면 게임이 JSON 응답을 처리할 수 있습니다. 응답 데이터를 사용하려면 JSON 문자열을 구문 분석해야 합니다.

샘플 이벤트

이 샘플 이벤트는 BSMNT API 사양에 자세히 설명된 POST Set Scores 요청을 다룰 것입니다.

샘플 요청

1

함수 생성

이벤트 시트의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하여 함수를 생성하고 SetScore라고 이름을 지정합니다.
2

서비스 메서드 헤더 설정

작업 추가를 클릭하고 AJAX를 선택한 다음 요청 헤더 설정을 선택합니다.
  • 헤더 필드: X-Service-Method
  • 값 필드: setUserScore
3

인증 헤더 설정

다른 AJAX 작업을 추가하고 다시 요청 헤더 설정을 선택합니다.
  • 헤더 필드: Authorization
  • 값 필드: Bearer <game secret>
<game secret>을 실제 게임 비밀 토큰으로 교체하십시오.
4

POST 요청 구성

이번에는 URL로 게시를 선택하는 AJAX 작업을 추가합니다. 다음을 입력합니다:
  • 태그: setUserScore
  • URL: https://api.basement.fun/launcher
  • 데이터: {"launcherJwt": "string", "nonce": "string", "score": 0}
  • 방법: POST
이것은 샘플 요청입니다 - 게임의 이벤트에 의해 설정된 변수로 값을 교체하십시오.

샘플 응답

샘플 응답은 다음과 같이 보일 것입니다:
API Response
{
    "success": true | false,
    "error"?: "error string",
    "newScore"?: {
        "_id": "unique id",
        "nonce": "nonce",
        "updatedAt": 23151264, // unix timestamp
        "score": 100.235,
        "gameId": "game uuid",
        "normalizedAddress": "user lowercase address"
    }
}

데이터 검색

Construct에서 응답에서 nonce를 검색하여 나중에 점수를 검색하는 데 사용합시다.
1

전역 변수 생성

이벤트 시트의 아무 곳이나 마우스 오른쪽 버튼으로 클릭하고 Nonce라는 이름의 전역 변수를 추가합니다.
2

트리거 이벤트 추가

게임에서 트리거되는 이벤트를 추가합니다.예시: 사용자의 점수를 캡처하기 위해 다른 자전거와 충돌할 때 자전거에 다른 객체와 충돌 시 조건을 추가하고 객체를 자전거로 설정합니다.
3

SetScore 함수 호출

작업을 추가하고 함수를 선택한 다음 SetScore를 선택합니다.
4

JSON 응답 구문 분석

JSON 작업을 추가하고 구문 분석을 선택한 다음 JSON 문자열 필드에 AJAX.LastData를 입력합니다.
이것은 우리의 SetScore 요청에서 응답을 가져옵니다.
5

Nonce 값 추출

시스템 작업을 추가하고 값 설정을 선택한 다음 Nonce 변수를 선택하고 JSON.Get("newScore.nonce")를 입력합니다.
이제 Nonce 변수가 API 응답으로 반환된 nonce로 설정되었습니다!

통합 완료

동일한 단계를 따라 모든 API 엔드포인트에 대한 이벤트를 생성할 수 있으며 모든 매개변수와 응답을 검토함으로써 이를 수행할 수 있습니다.

사용 가능한 API 엔드포인트

모범 사례

오류 처리

API 응답에서 success 필드를 항상 확인하고 오류를 우아하게 처리하십시오.

변수 관리

JWT 토큰과 사용자 점수와 같은 중요한 데이터를 저장하기 위해 Construct의 전역 변수를 사용하십시오.

디버그 콘솔

개발 중에 중요한 정보를 콘솔에 기록하기 위해 브라우저 객체를 사용하십시오.

API 요청 한도

API 요청 한도를 염두에 두고 빠른 연속으로 너무 많은 요청을 하지 마십시오.

다음 단계

문제 해결