![]() |
Опять про ошибку #1009
Вообщем мной давно была написана флешка на AS3, на ней размещены некоторые кнопки. Сейчас возникла необходимость ее подредактировать.
Парадокс в том что все работает..., но как только я удаляю кнопу и вместо нее рисую другую, с тем же instance name, сразу все перестает работать и пишет TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". Что за ерунда? Помогите! :wacko: |
Цитата:
Ну код надо смотреть. Скорее всего использовался getChildByName, может быть getChildAt с последующим приведением к неправильному типу и т.д. |
Да нет же, в коде все отлично, все работает, на сцене используються 4 кнопки , если удалить любую и вместо нее нарисовать новую, или импортировать в library и потом отконвертировать в button то все сразу ошибку выбивает при отслеживании действий с этой кнопокй. вот в этом месте
Код AS3:
|
показывай и исходник так же
|
Исходник слишком большой чтоб его полностью здесь вылаживать (речь идет о целом сайте на флеше)
вообще вот это в fla файле Код AS3:
Код AS3:
|
Вот смотрю я на тех, кто пишет в кадрах и (или) используя ручные добавления на сцены с инстансНеймами, и понимаю, что все-таки, ребят, переходите полностью на классы и на добавление всего контента динамически. Вот правда - никаких проблем таких не будет.
|
Из кода непонятно...
Может, у Вас внутри кнопки тоже были прописаны actions? Попробуйте удалять не кнопку сразу, а постепенно, удаляя по элементу внутри её и смотрите когда выползет ошибка. На крайний случай удалите всё из кнопки и нарисуйте в той же кнопке. |
напишите пожалуйста пример как можно объявить кнопку динамически и чтоб она была рисунком находящимся в library.
Пишу что то подобное var rightbut:Button = new Button(); выдает ошибку 1046: Type was not found or was not a compile-time constant: Button. Добавлено через 14 минут Блин полтергейст какой то, сейчас взял просто удалил кнопку со сцены, запустил все работает только удаленная кнопка естественно отсутствует, потом вставил ее назад из library, компилирую, ошибок никаких не выдает, но никакой реакции на нажатие любых из кнопок, хотя кнопки реагируют когда подводишь мышку к ним. Насчет кода написанного на самих кнопках - его нет, просто на кадре OVER кнопка чуть смещена относительно кадра UP |
SimpleButton
и Код AS3:
|
Что тут думать - если 1009, то ищите "свойство или метод со ссылкой на объект "null"" и размышляете, почему оно нулл. По крайней мере находится оно элементарно, но по-моему никто из пишущих про 1009 этого не делает. Если 1046: Type was not found, то оно не знает такого типа, импортите этот тип.
|
Дальше - больше.
Кнопка1 - удаляю - ее же добавляю из library - перестает реагировать Кнопка 3 Кнопка2 - удаляю - ее же добавляю из library - перестает реагировать Кнопка 3 Кнопка3- удаляю - ее же добавляю из library - ВСЕ работают. Кнопка4- удаляю - ее же добавляю из library - ВСЕ работают. Как они могут быть связаны??? В коде я их просто отслеживал и при нажатии вызывал соответствующую функцию, на самих кнопках тоже нет кода. |
Может это еще один яркий пример того, что FlashIDE не рекомендуется для программирования/компилирования средних+ приложений? У меня была ваша проблема. Похожая, вернее, когда я еще компилил под FlashIDE. Так вот, рисовал я квадратик, к нему присобачивал класс, добавлял в коде главного класса этот наш квадратик. Затем я захотел изменить квадратик на кружочек. Удалил, нарисовал, прилинковал тот же класс. Компилирую - и омойбот, сколько ошибок! Чего там только не было, а знакомился я только-только с ас3. Решилось созданием нового проекта.
Все же я думаю, что ваша FlashIDE шалит. |
helgboy
У меня были похожие проблемы, кнопка использовалась в нескольких местах. При попытке подмены на другую кнопку была такая же ситуация. Решилось откатом и воссозданием опять, с пошаговой проверкой работы. Тоже склоняюсь что это был глюк ИДЕ, т.к. других логичных причин выяснить не удалось. |
Да все уже перепробовал, удалил все объекты со сцены, и просто пробую создать кнопку , нажатие которой будет отслеживаться, ничего не получаеться.
Пробовал картинку доавблять в library и ее делать кнопкой , пробовал програмно: Код AS3:
Код AS3:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". Добавлено через 58 минут Аллелуя!! Я его победил. Беру свою кнопку достаю из library переношу на сцену, правой клавишей мыши выбираю - distribute to layer. И все заработало! Добавлено через 1 час 1 минуту Блин вот только на кнопку свой отдельный слой образовался.... как жешь оно раньше без него работало |
| Часовой пояс GMT +4, время: 16:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.