Цитата:
Сообщение от udaaff
Вот и пользуйся RENDEROM после этого... )
Добавлено через 5 минут
Тут получается надо вручную вызывать отрисовку дочерних компонентов.
|
Для начала нужно понять идеологию invalidate. А если ты криво написал код, то кто в этом виноват кроме тебя?)
Смысл invalidate в том, что ты сначала подготавливаешь все данные, и только перед самым рендером производишь какие-то действия. А ты в примере даешь данные и когда наступает ренедр, пытаешься передать данные снова.
Строка

Код AS3:
this._child.width = this.width / 2;
должна быть тут

Код AS3:
override public function set width(value:Number):void
{
if (this._width == value)
return;
Logger.trace("parent width set to ", value);
this._width = value;
this._child.width = value / 2;
super.changed = true;
}
Добавлено через 3 минуты
Цитата:
Сообщение от Psycho Tiger
Дак как решит? Отрисовка на экран всё равно будет происходить после исполнения скриптов кадра.
И тем более, по словам топикстартера - меняет width/height один раз.
|
Отрисовке может предшествовать сложные вычисления. Например у тебя должна рисоваться bitmapData с кучей вставок, вызывая width и height один раз, ты на самом деле рисуешь эту bitmapData два раза. С начала с новым width, а потом и с новым height. А invalidate откладывает отрисовку до самого последнего момента, когда новые width и height уже тебе известны.