Hola a todos,
Quería compartir una modificación que he realizado para mejorar la distancia de visualización en todos los mapas al utilizar la cámara con zoom. He reemplazado la función bool TestFrustrum2D(float x, float y, float Range)
con una nueva implementación que permite un mejor control sobre las escenas.
Código Modificado
He añadido la siguiente función en lugar de TestFrustrum2D
:
bool SelectScenes() { switch (SceneFlag) { case NON_SCENE: case WEBZEN_SCENE: case LOADING_SCENE: return false; case LOG_IN_SCENE: case CHARACTER_SCENE: case MAIN_SCENE: return true; } return false; } bool TestFrustrum2D(float x, float y, float Range) { if (SelectScenes() == true) { int j = 3; for (int i = 0; i < 4; j = i, i++) { Range -= 300.0f; float GetFrustumT = (float)((FrustrumX - x) * (FrustrumY[j] - y)); float GetFrustumB = (float)((FrustrumX[j] - x) * (FrustrumY - y)); if (GetFrustumT - GetFrustumB <= Range) { return false; } } } return true; }
Instrucciones
No olvides añadir la declaración de la función en tu archivo .h
:
bool SelectScenes();
Beneficios
Esta modificación permite que la cámara con zoom funcione mejor en las escenas seleccionadas, mejorando la experiencia de juego al permitir una visualización más clara y precisa.
Si tienes preguntas o necesitas más detalles sobre la implementación, ¡no dudes en preguntar!
¡Espero que esto les sea útil!
Saludos.
Enlaces Salientes
- Enlace a la comunidad de Mu Online:
- Enlace a foros de discusión sobre Mu Online:
- Enlace a herramientas de desarrollo:
Enlaces Internos
- Enlace a la sección de herramientas:
- Enlace a tutoriales específicos:
- Enlace a la sección de descarga de templates:
- Enlace a publicaciones en el foro: