TCJSGame: Guía Completa de la Clase Display

Conoce la clase Display de TCJSGame: gestión del canvas, bucle de renderizado, entrada (teclado, ratón y táctil), escenas, TileMap y cámara. Guía de uso, rendimiento y ejemplos prácticos para prototipos y juegos.

25 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Introducción a la clase Display en TCJSGame: La clase Display es el núcleo de TCJSGame y actúa como controlador principal que gestiona el canvas del juego, el bucle de renderizado, el manejo de entrada y la gestión de escenas. Es la primera clase con la que interactuarás al crear un proyecto con TCJSGame y resulta esencial para estructurar prototipos y juegos completos.

Constructor e inicialización: Al crear una instancia de Display se inicializan automáticamente elementos clave como el elemento canvas, el contexto 2D, contador de frames, estado del teclado, posición de entrada táctil o de ratón, referencias a tiles y mapas, la escena actual y una instancia de cámara. Ejemplo de uso básico: crear una nueva instancia con new Display(), iniciar el juego con start() indicando ancho y alto, y opcionalmente pasando el elemento padre del DOM donde se quiere insertar el canvas.

Métodos principales: start permite arrancar el bucle de juego y crear o redimensionar el canvas; stop detiene el bucle. Existen utilidades para controlar el estilo del canvas como backgroundColor para color sólido, lgradient y rgradient para gradientes lineales y radiales, borderColor, borderSize y borderStyle para bordes, además de fontColor para texto. También hay controles para fullscreen y exitScreen y una función scale para ajustar la resolución de renderizado.

Bucle de juego y gestión de escenas: El método interno de actualización limpia el canvas, incrementa el contador de frames, aplica la transformación de cámara, ejecuta la función global de update para lógica de juego y renderiza los componentes asignados a la escena actual. El sistema de escenas permite añadir componentes a escenas concretas para activar o desactivar conjuntos de objetos según el estado del juego, por ejemplo escena 0 para menú y escena 1 para el juego.

Entrada: teclado, ratón y táctil: El estado del teclado se guarda en un array keys que puede consultarse por códigos de tecla para movimientos y acciones. Las posiciones de ratón o táctil se exponen como propiedades x e y en la instancia Display junto con un indicador de pulsación. Esto facilita comprobar inputs en la función global update y responder a pulsaciones, movimientos y clicks o toques.

Integración TileMap: Display soporta definición de tiles y mapas en una matriz para generar niveles por rejilla. Tras asignar la colección de tiles y la matriz de mapa, se crea una instancia TileMap que permite mostrar el mapa, detectar colisiones entre un componente y tiles concretos, obtener colecciones de tiles por id, leer o modificar tiles por posición y añadir o eliminar tiles dinámicamente durante la ejecución.

Sistema de cámara: Cada Display crea una cámara que controla la transformación del contexto para simular un mundo desplazable. La cámara admite límites de mundo mediante worldWidth y worldHeight, seguimiento de un componente con o sin suavizado y control manual directo de sus coordenadas para efectos personalizados.

Ejemplos prácticos: Un flujo típico incluye crear la instancia Display, iniciar el canvas con start( ancho, alto ), crear componentes para jugador y fondos, activar físicas básicas en el jugador como gravedad y velocidad, añadir objetos a la escena y configurar la cámara para seguir al jugador. Para menús se usan escenas separadas con botones que cambian la propiedad scene de Display.

Sugerencias de rendimiento: Ajustar la tasa de frames para equilibrar fluidez y consumo (por ejemplo usar intervalos de 33 ms para ~30 FPS), minimizar operaciones costosas en cada frame como recrear gradientes, usar el sistema de escenas para no renderizar objetos invisibles y emplear TileMap para geometría estática en lugar de múltiples componentes individuales. Para gestión de memoria, detener el bucle con stop y eliminar el canvas del DOM al destruir el juego, además de eliminar componentes correctamente del arreglo global.

Características avanzadas: Se puede acceder al contexto raw para dibujo personalizado y mezclar renderizado propio con los componentes del motor. También es posible crear múltiples instancias de Display en la misma página para casos de demos o interfaces múltiples, cada una con su estado y entradas independientes.

Problemas comunes y soluciones: Si el canvas no aparece, verificar que el elemento padre exista y esté visible antes de llamar a start. Si la entrada no responde, comprobar que los listeners estén activos y depurar el array keys. Para problemas de rendimiento, reducir la tasa de actualización y el número de objetos activos o implementar object pooling para objetos creados y destruidos con frecuencia.

Q2BSTUDIO y cómo te ayudamos: En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en crear soluciones adaptadas a las necesidades de cada cliente. Ofrecemos servicios de software a medida y aplicaciones a medida para transformar ideas en productos robustos, además de capacidades en inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure. Para proyectos de desarrollo a medida descubre nuestra propuesta en desarrollo de aplicaciones y software multiplataforma y para iniciativas de inteligencia artificial y agentes IA visita servicios de inteligencia artificial. Integramos soluciones de inteligencia de negocio y Power BI, implementamos ciberseguridad y pentesting, y diseñamos arquitecturas cloud seguras y escalables.

Palabras clave y posicionamiento: Este artículo incorpora términos relevantes como aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi para ayudar al posicionamiento web y conectar clientes con las soluciones que ofrecemos en Q2BSTUDIO.

Conclusión: Dominar la clase Display de TCJSGame permite construir proyectos desde prototipos hasta juegos complejos gracias a su gestión de canvas, bucle de juego, entrada, escenas, TileMap y cámara. Si necesitas una solución a medida, consultoría en IA para empresas, seguridad o migración a la nube, en Q2BSTUDIO podemos ayudarte a diseñar, desarrollar y desplegar tu proyecto con tecnologías modernas y enfoque en resultados.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat