Вам необходимо заменять png1 каждый раз, когда вы загружаете новый файл.Лучше всего, если вы проверите, если файл все тот же, чтобы не загружать его снова и снова каждую секунду.Причина, по которой png2 перестает отображаться, заключается именно в том, что перед png2 слишком много прозрачных слоев.Я помню, что наличие 24 изображений с альфа-каналом друг над другом привело к потере некоторого фона, который в противном случае был бы видимым.Чтобы решить вашу проблему, я говорю, что вы добавляете контейнер Sprite
перед слоем png2, тогда вы можете просто очистить все дочерние элементы этого контейнера, чтобы удалить устаревшие imageLoader
s, а затем добавить недавно загруженную картинку.Что-то вроде этого:
// Zerolocation has a child named "runtimePic" to place loaded pics
var didWeLoad:Boolean=true;
function fl_TimerHandler(event: TimerEvent): void {
if (!didWeLoad) return; // why downloading more while we haven't finished?
var imageLoader: Loader = new Loader();
var image: URLRequest = new URLRequest("C:\\Users\\Public\\Pictures\\pic.png"); //png1 = pic.png
imageLoader.load(image);
imageLoader.addEventListener(Event.COMPLETE,loaded);
didWeLoad=false;
}
function loaded(e:Event):void {
didWeLoad=true; // allowing more downloading
e.target.removeEventListener(Event.COMPLETE,loaded); // clean up, or else you'll leak memory
// remove old pic(s)
Zerolocation.runtimePic.removeChildren();
// and now add new pic
Zerolocation.runtimePic.addChild(e.target);
}
Имейте в виду, этот код не обрабатывает ошибки загрузки.