![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2009
Сообщений: 141
|
Приветствую!
Проблема в следующем, есть замаскированный объект: Нативно рисуется незамысловатый узор начиная с координаты -50 до 150 и перерисовывается со смещением узора каждый кадр. Узор маскируется прямоугольником с координатами от 0 до 100 (ширина), т.е диапазоны -50 - 0 и 100 - 150 отбрасываются. В итоге, после маскирования объект получается шириной 100px, но свойство width показывает 200, а мне нужно 100. Причем даже после scrollRect шириной в 100px, width все равно выдает 200. Далее этот объект чилдится в контейнер размером 1200 шириной и становится он естественно шириной 1250, т. к. контейнер считает что в области -50 - 0 что-то есть, мне очень нужно этого избежать, т.е. конкретно в данном случае контейнер должен обязательно остаться прежним в ширину. Подскажите, пожалуйста, как решить эту проблему? |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 141
|
Через кадр уже поздно будет, нужно сразу, объект добавляется в самописный контейнер Box, наподобие флексовского с автопозиционированием и из-за некорректных размеров все катится к черту.
В общем придется изменять алгоритм отрисовки узора, чтобы он был в рамках координат маски ![]() Я предполагал, что маскированный объект изменяется по размеру маски, а это не так, что в принципе тоже логично, т.к. маска влияет только на визуализацию. Если кому интересно, нашел фантастическое решение проблемы: FP будет вынужден обновить для этого объекта реальный размер прямо в текущем кадре. Я поместил это в глобальную функцию, которую можно дергать сразу после изменения scrollRect package { import flash.display.BitmapData; import flash.display.IBitmapDrawable; public function updateRealSize(displayObject:IBitmapDrawable):void { new BitmapData(1,1).draw(displayObject); } } Последний раз редактировалось Vreden; 16.02.2014 в 13:02. |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 141
|
Векторный, а какое это имеет значение?
|
![]() |
![]() |
Часовой пояс GMT +4, время: 09:16. |
|
|
« Предыдущая тема | Следующая тема » |
|
|