Показать сообщение отдельно
Старый 16.02.2014, 12:22
Vreden вне форума Посмотреть профиль Отправить личное сообщение для Vreden Найти все сообщения от Vreden
  № 3  
Ответить с цитированием
Vreden
 
Аватар для Vreden

Регистрация: Feb 2009
Сообщений: 141
Через кадр уже поздно будет, нужно сразу, объект добавляется в самописный контейнер Box, наподобие флексовского с автопозиционированием и из-за некорректных размеров все катится к черту.
В общем придется изменять алгоритм отрисовки узора, чтобы он был в рамках координат маски

Я предполагал, что маскированный объект изменяется по размеру маски, а это не так, что в принципе тоже логично, т.к. маска влияет только на визуализацию.

Если кому интересно, нашел фантастическое решение проблемы:

Код AS3:
new BitmapData(1,1).draw(displayObject);
FP будет вынужден обновить для этого объекта реальный размер прямо в текущем кадре. Я поместил это в глобальную функцию, которую можно дергать сразу после изменения scrollRect

Код AS3:
package
{
	import flash.display.BitmapData;
	import flash.display.IBitmapDrawable;
 
	public function updateRealSize(displayObject:IBitmapDrawable):void
	{
		new BitmapData(1,1).draw(displayObject);
	}
}
Код AS3:
...
_fill.scrollRect = new Rectangle(0, 0, _width, _height);
updateRealSize(_fill);
...


Последний раз редактировалось Vreden; 16.02.2014 в 13:02.