Объекты AS3 (кнопки) из библиотеки недоступны из-за определенных функций - PullRequest
0 голосов
/ 18 ноября 2011

Я работаю над простым процессором изображений в AS3, и, как обычно, я почти закончил его, когда появилась небольшая неприятная проблема.Я хочу открыть изображение с помощью диалогового окна, и как только изображение откроется, я хочу, чтобы «selectBtn» (который находится в моей Библиотеке) исчез.Однако, когда я пробую приведенный ниже код, я получаю: «Ошибка № 1009: Не удается получить доступ к свойству или методу пустой ссылки на объект».Я уверен, что это что-то простое, но я просто не могу понять это!

// declare variables
var image:Bitmap;
var loader:Loader = new Loader();
var fileRef:FileReference= new FileReference();

selectBtn.addEventListener(MouseEvent.CLICK, openImage);

function openImage(event:MouseEvent):void {
fileRef.browse([new FileFilter("Images", "*.jpg;*.gif;*.png")]);
fileRef.addEventListener(Event.SELECT, onFileSelected);
}

function onFileSelected(e:Event):void {
fileRef.addEventListener(Event.COMPLETE, onFileLoaded);
fileRef.load();
}

function onFileLoaded(e:Event):void {
loader.loadBytes(e.target.data);
image = Bitmap(loader.content);
selectBtn.visible = false;
}

1 Ответ

0 голосов
/ 18 ноября 2011

То, что Тодд говорит точно: где определено «selectBtn»?Он находится на сцене или вложен в какой-то экземпляр movieclip?

Предполагая, что кнопка существует на сцене, и код работает в том же фрейме, что и кнопка, вы можете попробовать this.stage.selectBtn.visible = false;

В противном случае проследите, чтобы в качестве ссылки вы выбрали selectBtn.Или вы можете объявить переменную для ссылки на нее.то есть:

var selectBtnRef:Button = this.stage.selectBtn;
...