У меня есть два столбца: левый - холст, содержащий mx: Tree, а правый - холст, содержащий холст (для прокрутки) некоторых пользовательских спрайтов, которые идут вместе с узлами дерева слева. Я сделал правую прокрутку холста (горизонтальную и вертикальную) и хочу, чтобы вертикальная прокрутка также прокручивала левый холст так, чтобы узлы дерева совпадали с их представлениями справа.
Часть прокрутки работает нормально, и когда я встраиваю wmode = "window", проблем не возникает. К сожалению, клиент требует, чтобы динамический HTML иногда перекрывал Flash, и при использовании wmode = "opaque" или "transparent" возникают проблемы. Прокрутка по-прежнему работает сама по себе, но, похоже, Flash не перерисовывает ни Canvas должным образом. Холсты становятся несинхронными, и артефакты часто остаются на правой стороне.
Я ловлю событие прокрутки в правом столбце и обновляю позицию прокрутки в левом столбце следующим образом:
public function onTimelineScroll(scrollEvent:ScrollEvent):void {
leftColumn.verticalScrollPosition = rightColumn.verticalScrollPosition;
}
Удаление этого прослушивателя событий позволяет правильно рисовать правый столбец.
Любые предложения о том, как я могу это исправить? К сожалению, wmode = "window" не вариант. Возможно, есть лучший способ прокрутки?
Спасибо.