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
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
Definir Pontuação do Usuário
Definir Pontuação do Usuário
Atualizar ou definir a pontuação de um usuário para os placares de líderes.Ponto de extremidade:
Cabeçalhos:
POST /launcher
Cabeçalhos:
X-Service-Method: setUserScore
Obter Pontuação do Usuário
Obter Pontuação do Usuário
Recuperar a pontuação atual de um usuário.Ponto de extremidade:
Cabeçalhos:
GET /launcher
Cabeçalhos:
X-Service-Method: getUserScore
Acionar Motor de Regras
Acionar Motor de Regras
Acionar ações onchain com base em eventos de jogo.Ponto de extremidade:
Cabeçalhos:
POST /launcher
Cabeçalhos:
X-Service-Method: triggerRulesEngine
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
Documentação da API BSMNT
Referência completa da API para todos os pontos de extremidade disponíveis
Guia do Lançador de Jogos
Aprenda como integrar com o lançador de jogos BSMNT
Documentação do Construct
Documentação oficial e tutoriais do Construct 3
Projetos de Exemplo
Projetos de exemplo usando a integração BSMNT
Solução de Problemas
Requisições AJAX não funcionam
Requisições AJAX não funcionam
- Certifique-se de que adicionou o objeto AJAX ao seu projeto
- Verifique se todos os cabeçalhos necessários estão configurados corretamente
- Verifique se o seu segredo de jogo é válido
- Certifique-se de que a URL do ponto de extremidade da API está correta
Erros de análise JSON
Erros de análise JSON
- Confirme que o objeto JSON foi adicionado ao seu projeto
- Verifique se
AJAX.LastData
contém JSON válido - Use o objeto Browser para registrar a resposta bruta para depuração
Problemas de autenticação
Problemas de autenticação
- Verifique se o seu token JWT do lançador é válido
- Verifique se o cabeçalho de Autorização está formatado corretamente
- Certifique-se de que o seu segredo de jogo não expirou