У меня есть обработчик перетаскивания в моем приложении Flex. Прокси-сервер перетаскивания или изображение «призрак», которое должно отображаться при перетаскивании, должно быть загружено до перетаскивания, и это занимает некоторое время. Как я могу немедленно загрузить или предварительно загрузить его? Одним из решений является дублирование изображения, но, насколько я знаю, объекты изображения не могут быть дублированы, не создавая другую переменную, которая все равно занимает некоторое время для загрузки.Flex: дублирующий экземпляр изображения
Возможно, этот код иллюстрирует это лучше:
public function DragApp (e : MouseEvent) : void {
var dragInitiator : Image = e.currentTarget as Image;
var dragSource : DragSource = new DragSource();
var dragProxy : Image = new Image();
dragProxy.source = e.currentTarget.source; // Won't work unless image is embedded
dragProxy.load (e.currentTarget.source); // Must load
setTimeout (DragManager.doDrag, 350, dragInitiator, dragSource, e, dragProxy);
}
Спасибо! Это решает мою проблему! Но почему изображение появляется, когда я помещаю doDrag в таймаут? Я подумал, что нужно создать другой экземпляр изображения и загрузить его в первую очередь. В какой-то момент изображение автоматически устанавливает ширину и высоту изображения? – Aethex