Сам являюсь новичком в AS как таковом и в AS3 в частности, пишу свой первый "проект".
Для написания использую Adobe Flash 5.5.
Прошу помочь с следующим.
Есть функция:
Код
function smallFoto(getXPosition,getAlpha,imgAddrrPrev){
var viewerFotoPreviewR:viewerFotoPreview= new viewerFotoPreview;
var viewFoto= viewerFotoPreviewR.viewerUILoader;
viewFoto.load(new URLRequest (imgAddrrPrev));
stage.addChild(viewerFotoPreviewR);
viewerFotoPreviewR.width= 135;
viewerFotoPreviewR.height= 110;
viewerFotoPreviewR.x= getXPosition;
viewerFotoPreviewR.y= 770;
viewerFotoPreviewR.alpha= getAlpha;
}
var viewerFotoPreviewR:viewerFotoPreview= new viewerFotoPreview;
var viewFoto= viewerFotoPreviewR.viewerUILoader;
viewFoto.load(new URLRequest (imgAddrrPrev));
stage.addChild(viewerFotoPreviewR);
viewerFotoPreviewR.width= 135;
viewerFotoPreviewR.height= 110;
viewerFotoPreviewR.x= getXPosition;
viewerFotoPreviewR.y= 770;
viewerFotoPreviewR.alpha= getAlpha;
}
Проблема в следующем:
На stage в этот момент так же есть объект, который имеет кнопку. При нажатию на которую все "дети", добавленные этой функцией, должны удалиться. Но у меня это не получается.
Код
var buttonClose = vieWer.viewButtClose; //кнопка находится внутри фрагмента ролика в библиотеке и сама является фрагментом ролика.
buttonClose.addEventListener(MouseEvent.CLICK, closeViewer);
function closeViewer(e:MouseEvent):void{
stage.removeChild(vieWer); //первый обьект удаляется нормально
stage.removeChild(viewerFotoPreviewR); // получаю "Обращение несуществующего свойства viewerFotoPreviewR"
}
buttonClose.addEventListener(MouseEvent.CLICK, closeViewer);
function closeViewer(e:MouseEvent):void{
stage.removeChild(vieWer); //первый обьект удаляется нормально
stage.removeChild(viewerFotoPreviewR); // получаю "Обращение несуществующего свойства viewerFotoPreviewR"
}
Понимаю, что истинна где то рядом. Так же ясно, что проблема в том что переменная "viewerFotoPreviewR" доступна только внутри функции.
Как заставить флеш удалить все экземпляры viewerFotoPreviewR?