У меня есть элемент mx: Canvas, содержащий несколько элементов mx: Panel. Я хочу иметь возможность провести линию, соединяющую две такие mx: Panel, таким образом, чтобы линия продолжала соединять две mx: Panel при перетаскивании одной или обеих панелей. Кажется, это должно быть тривиально, но я не мог этого понять.
По сути, это проблема.
альтернативный текст http://img150.imageshack.us/img150/5656/ishot1eu3.jpg < / а>
Поскольку обновления происходят только тогда, когда Panel достигает своего конечного положения, как только вы начинаете перетаскивать панель «B», у вас остается свисающая линия:
альтернативный текст http://img212.imageshack.us/img212/4296/ishot2qi6.jpg < / а>
Возможное решение, как предлагается ниже, - переопределить метод updateDisplayList () компонента mx: Canvas. К сожалению, это обновляет рисунок только после перетаскивания, а не во время движения. Прослушивание событий «xChanged» и «yChanged» в Panel дает те же результаты, что и переопределение updateDisplayList ().
Окончательное решение, как указано ниже, требует отправки событий перемещения с движущейся Panel на холст, по которому он движется. Это заставляет линии перерисовываться на протяжении всего движения.
Спасибо за помощь!