![]() |
getBounds() присылает мне не верную геометрию фигуры
доброго времени суток.
функция getBounds() присылает мне не верную геометрию фигуры. то есть что я делаю. есть вот такая функция присылающая геометрию фигуры Код AS3:
А вот что возвращает мне данная функция (x=-5.05, y=-5.05, w=26, h=21) как такое может происходить если стороны равны 10 пикселям? может быть я неправильно пытаюсь узнать длину сторон? |
значит в фигуре есть обводка толщиной 0.10. ну и ещё какой-то мусор
|
Такой результат может получаться и при отсутствии мусора.
К сожалению, getBounds работает весьма ненадёжно. Подробно вылавливать условия, при которых возникают лажевые результаты, руки не доходили, но как минимум при следующих условиях getBounds может давать кривые значения: 1. Контур с JointStyle.MITER или .BEVEL в сочетании с LineScaleMode, любым кроме NONE (впрочем, при этом и на экране выглядит зачастую весьма коряво, особенно при большой ширине контура; однако баги отображения и значений getBounds не коррелированы) 2. Использование scrollRect - как в самом объекте, так и в потомках. 3. Наличие TextField-ов с использованием системных шрифтов. Зависит от используемого шрифта. Глюки часто были на WinXP, на Win7 с плеерами от 10-го вроде-бы не повторялось 4. При перегрузке проца, когда подряд вызывается много обработчиков (например от MOUSE_MOVE и таймеров), и комп не успевает всё перерисовывать... объект, для которого берётся getBounds при этом может никак не меняться, включая всех родителей и потомков. Однако значения размеров/положения могут получаться "весьма интересные" - каждый раз разные при нескольких вызовах getBounds. 5. При наличии преобразований (масштабирование, поворот и т.п.) ошибки в пределах 0.05 - нормальное явление, ибо с таким разрешением производятся вычисления. |
Большое спасибо за внимание как оказалось на деле.
Действительно был мусор в виде добавление +10 пикселов в кеше ко всей анимации(. Цитата:
|
| Часовой пояс GMT +4, время: 12:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.