![]() |
Как правильно объединить несколько swf?
В общем нашел я несколько галерей на AS3. Даже переписал свои не очень сложные скрипты с AS2, чтобы совместить с AS3, а вот собрать всё это вместе у меня не получается.
постоянно появляются вроде такой ошибки ошибки: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at main_fla::MainTimeline/frame2() at flash.display::Sprite/constructChildren() at flash.display::Sprite() at flash.display::MovieClip() at main_fla::video_menu_8() at flash.display::MovieClip/gotoAndStop() at main_fla::MainTimeline/ClickV() Это после того как я кликнув по кнопке перешел во второй кадр: Код AS3:
Код AS3:
Зачем-то добавляет префикс video и 8... at main_fla::video_menu_8() Пробовал просто грузить в контейнер на 1-ом кадре, так он вообще мне скрипт не запускал. Пробовал просто скопировать все из всех fla в 1, но тогда если переходить в следующий кадр из предыдущего ничего не исчезает. Может с классами надо что-то поделать, но боюсь что у меня не получиться Подскажите, пожалуйста, что можно сделать чтобы работало нормально. Уже давно с этим бьюсь и никак =( еще появляется ошибки типа: error #1065 переменная не определена это если грузиться с 3 кадра, а потом перейти во 2-й, я так понимаю они остаются и их надо удалять. Но remove не помогает в данном случае. |
Перестать писать в кадрах, не писать одну функцию внутри другой. Это только увидев 1й блок кода. Дальше даже разбираться не хочется.
|
хорошо. учёл вышесказанное и написал только в первом кадре. только я не знаю как сделать чтобы swf который загружается определял instanceName или переменные на сцене другого swf, в который загружается.
просто класс подключить к обоим и там написать что-нибудь такое? Код AS3:
|
Он и не должен, этим занимается тот, кто загружает.
И если писать код в кадрах, чего опять же не советую, то компилятор будет ругаться на пэкеджы. |
Цитата:
|
Ничто не мешает вынести ее за пределы метода, это раз, затрудняется рефакторинг и дебаг - два, меморилики - три.
|
Те проблем я решил, только никак не удалить некоторые слушатели событий, когда добавляю другой swf . был бы способ как-то сразу их всех уничтожить после removeChild()...
а то я написал: Код AS3:
at main_fla::MainTimeline/onRemoved() зато после при нажатие ctrl+f ошибка Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at gallery_fla::MainTimeline/resize_listener() а событие mouseDown удалилось нормально.. хотя так же скопировл из fla и просто поменял add на remove |
Нет такого метода и объекта значит.
|
так объект я удалил removeChild(gallery)
а метод, который запускается в самом начале загружаемой флэшки, продолжает искать объект : Код AS3:
|
| Часовой пояс GMT +4, время: 17:25. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.