Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Precisión de números un poco grandes [Resuelto]  (Leído 324 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado DarkKRuleR

en: Febrero 06, 2020, 11:56:30 pm
¡Buenas! Pues ando necesitando que mi juego use números un poco grandes para las coordenadas de mis objetos. Definí el límite como 1 000 000, pero ocurre que a medida que me acerco (pasando del 100 000), las cosas comienzan a ir mal... algunos gráficos y controles fallan. Y si regreso a coordenadas pequeñas, se soluciona. ¿Alguna idea de por qué podría pasar? No veo que sean números tan grandes, pensé que GM usa decimales de 32 bits y eso alcanza para muchos millones. ¿O quizás aún siendo relativamente pequeño, a partir de 100 000 comienza a perder precisión? Aunque sea poca, los problemas se notan... ¿Alguna forma de arreglar esto?

Sé que una opción es que mi personaje esté siempre quieto en 0,0, y en su lugar mover el resto de objetos. Intentaría evitarlo porque le daría la vuelta a todo y me complicaría, pero al menos está ahí... ¡Gracias!
« última modificación: Febrero 08, 2020, 07:23:50 pm por DarkKRuleR »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Silver_light

Respuesta #1 en: Febrero 07, 2020, 07:29:30 pm
En teoría los números flotantes dan problemas cuando son muy grandes, a menos claro que utilice una implementación de una libreria determinada, pero en lo convencional, a mi entender, da errores.
Podrías probar utilizar un entero grande en vez de un decimal de 32bits con la funcion int64().

https://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/int64.html

En verdad no sé si eso llegue a solucionar tu situación pero, ahí está. XD

 


Desconectado DarkKRuleR

Respuesta #2 en: Febrero 08, 2020, 07:23:34 pm
Gracias por responder :D Lo he probado, conseguí convertir x,y a enteros según pude comprobar pero continuaba fallando ;_;

al final hice lo que odiaba (?) pero en vez de anclar al PJ en el centro, hice que cada vez que el PJ se alejara X distancia del centro, teleport al centro y teleport inverso a todo lo demás xD Por ahora parece que funciona bien. Los demás objetos sí están en coordenadas super lejanas, espero que eso no provoque problemas, pero podría arreglarlo con otra chapucilla (???)