Eventos

O Construct possui uma ótima interface gráfica que permite aos desenvolvedores criar jogos com mínimo ou nenhum código. Os seguintes documentos revisarão como conectar seu jogo ao Basement.fun usando a folha de eventos do Construct.

Componentes Chave

Você precisará adicionar alguns objetos ao seu projeto para habilitar seu jogo Construct a interagir com a plataforma Basement.fun.
Para adicionar objetos ao seu projeto, vá para a Visualização de Layout, clique com o botão direito no layout, selecione Inserir Novo Objeto e, em seguida, escolha o objeto que deseja inserir no seu projeto. Após adicionar o objeto, ele estará disponível na sua folha de eventos.

Objeto Browser

O objeto Browser permite que você escreva no console. Não é necessário, mas será útil ao verificar dados e depurar seu código.

Objeto AJAX

O objeto AJAX permite que seu jogo interaja com as APIs do B3.
  • Requisições POST exigem que você crie ações separadas para cada parâmetro de cabeçalho e uma ação de postar para URL para todos os parâmetros do corpo
  • Requisições GET exigem que você combine todos os parâmetros e valores necessários em uma única URL para enviar a solicitação à API
  • As respostas da API podem ser referenciadas usando AJAX.LastData

Objeto JSON

O objeto JSON permite que seu jogo manipule respostas JSON. Você precisará analisar as strings JSON para utilizar os dados da resposta.

Evento de Exemplo

Este evento de exemplo cobrirá a solicitação POST Set Scores detalhada nas Especificações da API BSMNT.

Solicitação de Exemplo

1

Criar Função

Clique com o botão direito em qualquer lugar na folha de eventos, crie uma função e nomeie-a SetScore.
2

Configurar Cabeçalho do Método de Serviço

Clique em adicionar ação, selecione AJAX, selecione Definir cabeçalho da solicitação.
  • Campo de cabeçalho: X-Service-Method
  • Campo de valor: setUserScore
3

Configurar Cabeçalho de Autorização

Adicione outra ação AJAX e selecione Definir cabeçalho da solicitação novamente.
  • Campo de cabeçalho: Authorization
  • Campo de valor: Bearer <segredo do jogo>
Substitua <segredo do jogo> pelo seu token de segredo de jogo real.
4

Configurar Solicitação POST

Adicione outra ação AJAX, mas desta vez, selecione Postar para URL. Insira o seguinte:
  • Tag: setUserScore
  • URL: https://api.basement.fun/launcher
  • Dados: {"launcherJwt": "string", "nonce": "string", "score": 0}
  • Método: POST
Esta é uma solicitação de exemplo - certifique-se de substituir seus valores por variáveis que são definidas por eventos no seu jogo.

Resposta de Exemplo

A resposta de exemplo será algo assim:
API Response
{
    "success": true | false,
    "error"?: "string de erro",
    "newScore"?: {
        "_id": "id único",
        "nonce": "nonce",
        "updatedAt": 23151264, // timestamp unix
        "score": 100.235,
        "gameId": "uuid do jogo",
        "normalizedAddress": "endereço em minúsculas do usuário"
    }
}

Recuperando Dados

No Construct, vamos recuperar o nonce da resposta, para que possamos usá-lo para recuperar a pontuação em um momento posterior.
1

Criar Variável Global

Clique com o botão direito em qualquer lugar na folha de eventos e adicione uma variável global chamada Nonce.
2

Adicionar Evento de Gatilho

Adicione um evento que é acionado pelo seu jogo.Exemplo: Para capturar a pontuação do usuário quando sua bicicleta colide com outra bicicleta, adicione uma condição em colisão com outro objeto ao ciclista e defina o objeto para ciclista.
3

Chamar Função SetScore

Adicione a ação, selecione funções e selecione SetScore.
4

Analisar Resposta JSON

Adicione uma ação JSON, selecione analisar, e insira AJAX.LastData no campo de string JSON.
Isso capturará a resposta da nossa solicitação SetScore.
5

Extrair Valor do Nonce

Adicione uma ação sistema, selecione definir valor, escolha a variável Nonce e insira JSON.Get("newScore.nonce").
Agora sua variável Nonce está definida para o nonce retornado pela resposta da API!

Integração Completa

Seguindo os mesmos passos, você pode criar eventos para cada ponto de extremidade da API, revisando todos os parâmetros e respostas.

Pontos de Extremidade da API Disponíveis

Melhores Práticas

Tratamento de Erros

Sempre verifique o campo success nas respostas da API e trate os erros de maneira elegante.

Gerenciamento de Variáveis

Use as variáveis globais do Construct para armazenar dados importantes como tokens JWT e pontuações de usuários.

Console de Depuração

Use o objeto Browser para registrar informações importantes no console durante o desenvolvimento.

Limites de Taxa da API

Esteja ciente dos limites de taxa da API e evite fazer muitas solicitações em rápida sucessão.

Próximos Passos

Solução de Problemas