Eventos

Construct tiene una excelente interfaz gráfica que permite a los desarrolladores crear juegos con mínimo o ningún código. Los siguientes documentos revisarán cómo conectar tu juego a Basement.fun usando la hoja de eventos de Construct.

Componentes Clave

Necesitarás agregar algunos objetos a tu proyecto para habilitar tu juego de Construct para interactuar con la plataforma Basement.fun.
Para agregar objetos a tu proyecto ve a la Vista de Diseño, haz clic derecho en el diseño, selecciona Insertar nuevo objeto, y luego elige el objeto que quieres insertar en tu proyecto. Después de agregar el objeto, estará disponible en tu hoja de eventos.

Objeto Navegador

El objeto Navegador te permite escribir en la consola. No es necesario, pero será útil al verificar datos y depurar tu código.

Objeto AJAX

El objeto AJAX permite que tu juego interactúe con las APIs de B3.
  • Solicitudes POST requieren que crees acciones separadas para cada parámetro de encabezado y una acción de post a URL para todos los parámetros del cuerpo
  • Solicitudes GET requieren que combines todos los parámetros y valores que necesitas en una única URL para enviar la solicitud a la API
  • Las respuestas de la API pueden ser referenciadas usando AJAX.LastData

Objeto JSON

El objeto JSON permite que tu juego maneje respuestas JSON. Necesitarás analizar las cadenas JSON para hacer uso de los datos de respuesta.

Evento de Muestra

Este evento de muestra cubrirá la solicitud POST Set Scores detallada en las Especificaciones de la API de BSMNT.

Solicitud de Muestra

1

Crear Función

Haz clic derecho en cualquier lugar de la hoja de eventos, crea una función y nómbrala SetScore.
2

Establecer Encabezado del Método de Servicio

Haz clic en añadir acción, selecciona AJAX, selecciona Establecer encabezado de solicitud.
  • Campo de encabezado: X-Service-Method
  • Campo de valor: setUserScore
3

Establecer Encabezado de Autorización

Añade otra acción AJAX y selecciona Establecer encabezado de solicitud nuevamente.
  • Campo de encabezado: Authorization
  • Campo de valor: Bearer <secreto del juego>
Reemplaza <secreto del juego> con tu actual token secreto del juego.
4

Configurar Solicitud POST

Añade otra acción AJAX pero esta vez, selecciona Post a URL. Ingresa lo siguiente:
  • Etiqueta: setUserScore
  • URL: https://api.basement.fun/launcher
  • Datos: {"launcherJwt": "string", "nonce": "string", "score": 0}
  • Método: POST
Esta es una solicitud de muestra - asegúrate de reemplazar tus valores con variables que estén establecidas por eventos en tu juego.

Respuesta de Muestra

La respuesta de muestra se verá algo así:
Respuesta de la API
{
    "success": true | false,
    "error"?: "cadena de error",
    "newScore"?: {
        "_id": "id único",
        "nonce": "nonce",
        "updatedAt": 23151264, // marca de tiempo unix
        "score": 100.235,
        "gameId": "uuid del juego",
        "normalizedAddress": "dirección en minúsculas del usuario"
    }
}

Recuperando Datos

En Construct, vamos a recuperar el nonce de la respuesta, para que podamos usarlo para recuperar la puntuación en un momento posterior.
1

Crear Variable Global

Haz clic derecho en cualquier lugar de la hoja de eventos y añade una variable global nombrada Nonce.
2

Añadir Evento Disparador

Añade un evento que sea disparado por tu juego.Ejemplo: Para capturar la puntuación del usuario cuando su bicicleta choca contra otra bicicleta, añade una condición en colisión con otro objeto al ciclista y establece el objeto a ciclista.
3

Llamar a la Función SetScore

Añade la acción, selecciona funciones, y selecciona SetScore.
4

Analizar Respuesta JSON

Añade una acción JSON, selecciona analizar, e introduce AJAX.LastData en el campo de cadena JSON.
Esto capturará la respuesta de nuestra solicitud SetScore.
5

Extraer Valor de Nonce

Añade una acción sistema, selecciona establecer valor, elige la variable Nonce, e introduce JSON.Get("newScore.nonce").
¡Ahora tu variable Nonce está configurada con el nonce devuelto por la respuesta de la API!

Integración Completa

Siguiendo los mismos pasos, puedes crear eventos para cada punto final de la API revisando todos los parámetros y respuestas.

Puntos Finales de la API Disponibles

Mejores Prácticas

Manejo de Errores

Siempre verifica el campo success en las respuestas de la API y maneja los errores de manera adecuada.

Gestión de Variables

Usa las variables globales de Construct para almacenar datos importantes como tokens JWT y puntuaciones de usuarios.

Consola de Depuración

Usa el objeto Navegador para registrar información importante en la consola durante el desarrollo.

Límites de Tasa de la API

Ten en cuenta los límites de tasa de la API y evita hacer demasiadas solicitudes en rápida sucesión.

Próximos Pasos

Solución de Problemas