Guía Completa de la Clase TCJSGame

Guía de la clase Component en TCJSGame: renderizado, física, colisiones y patrones de movimiento, con optimización mediante object pooling y particionado espacial para rendimiento.

26 sept 2025 • 5 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Introducción a la clase Component en TCJSGame: la clase Component es el bloque fundamental de TCJSGame y representa todos los objetos del juego, personajes, elementos, items y componentes de interfaz. Cada entidad visible en el juego es una instancia de Component y sirve como base para gráficos, física, colisiones e interacción.

Creación e inicialización: la sintaxis general es new Component(width, height, colorOPathImagen, x, y, type) donde type puede ser rect, image o text. Por ejemplo, para crear un rectángulo se usa new Component(50, 50, color, 100, 100, rect). Para un componente de texto se especifica el tipo text y su propiedad text se actualiza con el contenido. Evita olvidar añadir los componentes a la pantalla usando display.add(component) para que sean visibles.

Parámetros del constructor: width y height definen tamaño, color puede ser un color CSS o la ruta a una imagen, x y y la posición, y type determina el modo de renderizado. La clase expone propiedades y métodos que se utilizan continuamente durante el ciclo de juego.

Propiedades básicas de posición y tamaño: cada Component tiene x, y, width y height. El punto central se calcula como x más width dividido entre 2 y y más height dividido entre 2. Es común ajustar x y y para mover objetos y modificar width y height para efectos de escalado visual.

Propiedades de física y movimiento: los componentes pueden habilitar física asignando physics true. Existen propiedades como gravity para la fuerza de gravedad, gravitySpeed para la velocidad de caída actual, speedX y speedY para velocidades horizontales y verticales, y bounce para el coeficiente de rebote. El método move se encarga del desplazamiento cada frame y hitBottom permite detectar y reaccionar al fondo del lienzo.

Propiedades visuales y rotación: la propiedad color admite valores CSS como nombres de color, hex o rgba para transparencia. La rotación se controla con angle en radianes y changeAngle activa el renderizado rotado. Para componentes de tipo image se puede acceder a la imagen subyacente y su ruta mediante la propiedad image.

Métodos principales: move para movimiento por frame, moveAngle para movimiento angular, stopMove para detener velocidades, update para renderizado por frame, bUpdate para actualizaciones alternativas, hide y show para controlar visibilidad. Métodos de interacción incluyen clicked para detectar clics o taps y crashWith para detección de colisiones entre componentes.

Uso práctico: para un personaje con física se crea un Component, se habilita physics y se configuran gravity y bounce. En la función de actualización se leen controles de teclado y se ajustan speedX y speedY, además de comprobar límites y llamar a hitBottom cuando sea necesario. Para botones de UI se puede usar clicked para iniciar acciones y cambiar color como retroalimentación visual.

Sistema de proyectiles: en lugar de crear y destruir constantemente, se recomienda utilizar un pool de objetos. Un ObjectPool crea y recicla instancias de Component, llamando show al reutilizar y hide al liberar. Esto mejora el rendimiento en juegos con muchos disparos o efectos efímeros.

Patrones de movimiento avanzados: seguimiento suave del ratón o touch ajustando x e y con interpolación, movimiento orbital situando un componente con coseno y seno alrededor de un centro, y movimiento en onda usando seno para la componente vertical. Estos patrones generan comportamientos naturales y dinámicos sin necesidad de física compleja.

Efectos visuales y animación: pulsaciones logradas escalando width y height periódicamente, ciclo de color modificando hue en HSL para efectos de arcoíris, y rotación continua incrementando angle cada frame. Estas técnicas permiten destacar objetos y mejorar la experiencia visual.

Optimización de rendimiento: además de object pooling, use particionado espacial para reducir comprobaciones de colisión. Divida el espacio en celdas y registre objetos por celda para comprobar colisiones solo con vecinos cercanos. Esto reduce drásticamente las comprobaciones en escenas con muchos elementos.

Sistemas comunes: para barras de vida se usan dos Component superpuestos, uno de fondo y otro de primer plano cuyo width se ajusta según la proporción de vida actual. Para temporizadores se emplea un Component de tipo text que se actualiza cada frame mostrando tiempo transcurrido.

Resolución de problemas frecuentes: si un componente no aparece, asegúrese de haber llamado a display.add(component) y de que no esté oculto con hide. Verifique que la escena actual coincida con la del componente. Si la física no funciona, confirme que physics está activado y que gravity y move se están usando correctamente. Para problemas de colisión, compruebe que width y height sean correctos y que las posiciones verdaderamente se solapen antes de usar crashWith.

Q2BSTUDIO y servicios relacionados: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida con especialización en software a medida, aplicaciones a medida, inteligencia artificial y ciberseguridad. Ofrecemos soluciones integrales que incluyen servicios cloud aws y azure, servicios inteligencia de negocio y desarrollo de agentes IA para empresas. Si necesita desarrollar proyectos de juegos, plataformas o aplicaciones empresariales a medida visite nuestra página de desarrollo de aplicaciones y software multiplataforma en desarrollo de aplicaciones y software a medida donde encontrará nuestras capacidades en proyectos personalizados. Además, si busca integrar inteligencia artificial en su organización, automatizar procesos o construir agentes IA consulte nuestra área de inteligencia artificial en servicios de inteligencia artificial para empresas.

Palabras clave y posicionamiento: nuestros servicios abarcan 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. Combinamos experiencia en desarrollo, seguridad y datos para ofrecer soluciones escalables y seguras adaptadas a cada cliente.

Conclusión: dominar la clase Component de TCJSGame permite crear desde interfaces sencillas hasta personajes con física, sistemas de colisión y efectos visuales complejos. Aproveche patrones como object pooling y particionado espacial para optimizar rendimiento. Si busca soporte profesional para llevar su proyecto al siguiente nivel, en Q2BSTUDIO ofrecemos consultoría y desarrollo a medida, integración de IA y soluciones cloud para transformar ideas en productos reales.

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