En ActionScript 3 (y IIRC 2), las propiedades x e y de un objeto de visualización siempre se almacenan como múltiplos de 0,05.AS3 xyy precisión de propiedad
así que algo como obj.x = 66.6666
es lo mismo que obj.x = 66.65
mayoría de las veces, esto no importa. Pero a veces puedo terminar con objetos realmente lentos, por ejemplo, 1 píxel por segundo. 1/60 (fps) = 0.017 píxeles por cuadro. obj.x += 0.017
nunca realmente cambian el valor x, ya que se redondea al 0.05 más cercano.
Esto me obliga a anular las propiedades x & y de un DisplayObject para que no se redondeen.
Puedo entender las coordenadas de redondeo al valor integral más cercano para la representación. Con un renderizador más avanzado, puedo incluso entender el redondeo a una fracción representable en binario (por ejemplo, 0.25). Pero 0.05 no se puede representar exactamente en binario.
Entonces, ¿por qué los creadores de Flash decidieron redondear al .05 más cercano? Simplemente me parece un número tan arbitrario.
bien, pero mi pregunta es más acerca de qué es el anuncio ventajosa de usar múltiplos de .05 es. – Ponkadoodle
De acuerdo con las especificaciones de formato de archivo SWF, "Twips es un buen compromiso entre el tamaño y la precisión. Proporcionan una precisión subpíxel para el zoom y la colocación precisa de los objetos, mientras que consume muy pocos bits por coordenada". –
¿No fue esta respuesta lo que estabas buscando? –