|
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Неточные координаты DisplayObject
Почему 0.7 + 0.1 = 0.75?
Вместо двух твипов прибавился один. package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { public function Main() { _bitmap = new Bitmap(); addChild(_bitmap); addEventListener(Event.ENTER_FRAME, enterFrame); } private function enterFrame(e:Event):void { _bitmap.y += 0.1; trace(_bitmap.y); } private var _bitmap:Bitmap; } } Результат команды trace |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Ага. И если 9 / 3 можно получить 2.9999. Мы просто с этим живем.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
Регистрация: Oct 2005
Сообщений: 157
|
согласно документации тип Number это число двойной точности (IEEE-754 double-precision floating-point number) дальше кури мануал как складываются такие числа, отсюда скорее всего и вылазит 0.7+0.1 = 0.75
вот статья на вики как отправная точка https://ru.wikipedia.org/wiki/%D0%A7...81%D1%82%D0%B8 и вот для расширения кругозора https://en.wikipedia.org/wiki/IEEE_f...#Basic_formats на пальцах объяснить я не смогу, наверное =) Добавлено через 18 минут вот взгляни что это за числа на самом деле:
__________________
и где же смысл? Последний раз редактировалось vadja; 28.01.2015 в 22:11. |
|
|||||
Цитата:
Если коротко, то надо делать так и всё будет отлично: package { import flash.display.Bitmap; import flash.display.BitmapData; import flash.display.Sprite; import flash.events.Event; public class Main extends Sprite { public function Main() { _bitmap = new Bitmap(); addChild(_bitmap); _bitmapY = 0; addEventListener(Event.ENTER_FRAME, enterFrame); } private function enterFrame(e:Event):void { _bitmapY += 0.1; _bitmap.y = _bitmapY; trace(_bitmap.y + "(" + _bitmapY + ")"); } private var _bitmapY:Number; private var _bitmap:Bitmap; } } |
|
|||||
Регистрация: Dec 2014
Сообщений: 312
|
Спасибо
|
|
|||||
Lorem ipsum
|
Координаты экранных объектов принудительно округляются до 0.05, вот и вся магия.
__________________
Поймай яблоко 2! |
|
|||||
Нене, уолш говорил, что они "аттачатся к сетке", а сетка располагается не ровно каждые 5 сотых, а немного другого масштаба.
__________________
There is no thing in this world that is not simple. |
|
|||||
Lorem ipsum
|
1/20 пикселя — 0.05
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 05:54. |
|
« Предыдущая тема | Следующая тема » |
|
|