![]() |
Выскакивает Error #1009 по непонятным причинам.
Вложений: 1
Добрый день дамы и господа. Помогите пожалуйста разрешить мне маленькую проблемку. Я в АС3 новичёк, поэтому возможна моя беда вам покажется смешной, однако я уже отсчялся совсем, и пришел к вам за помощью. Значит так:
Флешка, представляет собой следующее: В рут из библиотеки добавляется клим Welcom, в котором создается CheckBox и Button. По нажатию на кнопку, положение CheckBox.selected записывается в SharedObject, клип удаляется и добавляется другой. При повторном запуске, если чек бокс был выставлен, то сразу вызывается метод, который происходил по нажатию кнопки, после записи в Shared object, и выполнение метода прерывается. Так вот если чек бокс небыл выставлен, то все работает отлично, но если был, то выскакивает ошибка: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". В методе skipWelcome(), parent ровняется null, однако this как и нужно = welcome. В чем проблема расскажите пожалуйста. Собственно код, главный её класс: Код AS3:
Код AS3:
|
Вы обращаетесь к parent, еще в конструкторе, т.е. до добавления Welcom в Main.
|
Код AS3:
|
Вы имеетее ввиду который находится на stage? Так ведь welcom на нем находится, он добавляется из главного класса:
Код AS3:
Update: easy.proger, спасибо большое, все заработало, теперь я понял в чем беда была, буду иметь ввиду. З.Ы. если вдруг наглянет администрация, возьмите на заметку, что в новой опере, невозможно не редактировать сообщение, не пользоваться кнопками вставки тегов в панели при создании топика или мессаги. Всем спасибо! |
Интересно, а какой по вашему должен быть парент у объекта которого нет на сцене ? или вы считаете, что добавление на сцену происходит телепатически ? Давайте проанализируем ваш код
Вы создаете объект var welcome:MovieClip = new Welcome(); при этом входите в конструктор, но ведь addChild(welcome) еще не был вызван и нас нету на сцене ! и тут же мы спрашиваем у себя кто парент, ну и кто может быть парентом у объекта которого еще нету на сцене ? конечно null, поэтому я привел код в котором мы ждем пока нас добавят на сцену после чего уже нам будет доступно и stage и parent … |
easy.proger, то что я писал до апдейта я не вам, после вашего примера я все понял, почему то мне не пришло в голову что конструктор выполняется после создания экземпляра класса, а казалось, что именно после того как он будет добавлен на стейдж. Извеняю, действительно глупо, и очень благодарю за помощь.
|
| Часовой пояс GMT +4, время: 21:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.