No tengo juegos programados desde hace 10 años (mi última experiencia fue DJGPP + Allegro), pero pensé en echar un vistazo a XNA durante el fin de semana para ver cómo se perfilaba.Programadores de eventos y programación de juegos
Estoy bastante impresionado, sin embargo, como sigo armando un motor de juego, tengo una (probablemente) pregunta básica.
¿Cuánto debe confiar en los delegados y eventos de C# para conducir el juego? Como programador de aplicaciones, uso delegados y eventos en gran medida, pero no sé si hay una sobrecarga significativa para hacerlo.
En mi motor de juego, he diseñado una especie de "chase cam", que se puede unir a un objeto y luego recalcular su posición relativa al objeto. Cuando el objeto se mueve, hay dos formas de actualizar la cámara de persecución.
- Tiene un método "UpdateCameras()" en el bucle principal del juego.
- Usa un controlador de eventos y haz que la cámara de seguimiento se suscriba al objeto.OnMoved.
Estoy utilizando este último, porque me permite encadenar eventos juntos y automatizar muy bien grandes partes del motor. De repente, lo que sería enorme y complejo se dejó caer a un puñado de 3-5 manejadores de eventos de línea ... Es una belleza.
Sin embargo, si los controladores de eventos que disparan cada nanosegundo resultan ser una desaceleración importante, lo eliminaré y seguiré con el enfoque de ciclo.
Ideas?
Lo noté. Es un pequeño mundo pequeño. – FlySwat