В ActionScript 3 (и IIRC 2) свойства x и y в экранном объекте всегда сохраняются как кратные 0,05.
так что-то вроде obj.x = 66.6666
совпадает с obj.x = 66.65
В большинстве случаев это не имеет значения. Но иногда я могу получить действительно медленно движущиеся объекты, например, 1 пиксель в секунду. 1/60 (кадр / с) = 0,017 пикселей на кадр. obj.x += 0.017
не будет никогда фактически изменит значение x, поскольку оно округляется до ближайшего 0,05.
Это заставляет меня переопределить свойства x & y объекта DisplayObject, чтобы они не округлялись.
Я могу понять координаты округления до ближайшего целочисленного значения для рендеринга. С более продвинутым рендером я могу даже понять округление до некоторой дроби, представленной в двоичном виде (например, 0,25). Но 0,05 нельзя представить точно в двоичном виде.
Так почему же создатели Flash решили округлить до ближайшего 0,05? Мне просто кажется, что это произвольное число.