Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: DarkKRuleR en Febrero 06, 2020, 11:56:30 pm

Título: Precisión de números un poco grandes [Resuelto]
Publicado por: 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!
Título: Re:Precisión de números un poco grandes
Publicado por: Silver_light 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
Título: Re:Precisión de números un poco grandes
Publicado por: DarkKRuleR 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 (???)