Таинственные активы, используемые в SWF, не найдены нигде в Fla? - PullRequest
2 голосов
/ 23 октября 2008

в верхней части кода я вижу такие вещи, как

btn_dropdown._visible = false; mcMenuBkg._visible = false;

но я не могу найти эти ресурсы нигде в библиотеке или в любом коде, как это имеет смысл?

Видеоклипы в библиотеке, которые выглядят одинаково, имеют разные имена, и я могу удалить их полностью, и они все еще отображаются, когда я компилирую и запускаю, или я могу добавить операторы трассировки в их код, и они никогда не будут вызваны. *

где эти активы определены?

Ответы [ 3 ]

3 голосов
/ 24 октября 2008

Теоретически любой клип, который вы видите во время выполнения, может быть создан динамически, путем создания пустого MC и рисования любого содержимого, которое вам нравится, с помощью API рисования. Однако, если вы видите в библиотеке клипы, которые похожи на то, что показывается во время выполнения, очень маловероятно, что это происходит.

Ваш первый шаг, вероятно, должен быть еще один просмотр библиотеки. Помните, что имена экземпляров не обязательно должны совпадать с именами MC; даже если что-то называется «Держатель меню» в библиотеке, его экземпляр может быть где-то назван «mcMenuBkg» или что-то еще. Но тот факт, что вы можете удалить материал без изменения вывода, является загадочным.

Итак, другие возможности: содержимое загружается извне или импортируется через общий доступ во время выполнения. Если это возможно, попробуйте переместить SWF во временный каталог и запустить его оттуда; это должно прервать все загрузки (если содержимое не загружено с удаленного URL).

Или вы смотрите не те клипы в библиотеке. Если это грубый проект, там могут быть неиспользованные вещи. Попробуйте расширить библиотеку достаточно широко, чтобы увидеть столбец «Использовать счетчик», и выберите «обновить счетчик использования» в меню библиотеки. Все, что имеет значение 1 или выше, является частью содержания сцены вашего FLA - либо оно находится на главной сцене, либо является потомком чего-то, что есть. Клипы со счетчиком использования 0 могут все еще использоваться, если у них есть идентификатор связи; они могут быть созданы во время выполнения с attachMovie(). Однако для любого клипа с счетчиком использования 0 и без идентификатора связи можно предположить, что он не используется и не имеет отношения к тому, что происходит во время выполнения.

Если ничего из этого не помогает, единственное, что приходит на ум, это проверки работоспособности ... откройте все на сцене и каждый клип с идентификатором связи и проверьте на наличие пустых / невидимых MC. Проверьте настройки экспорта фильма, чтобы убедиться, что проверяемый вами SWF-файл тот же, что опубликован. И просто ради ухмылки откройте панель «Сцены» и убедитесь, что какой-то дьявольский злодей не поместил важный контент в отдельную сцену, где ни один здравомыслящий человек не стал бы ее искать.

Неясный ответ на неопределенный вопрос. : D Надеюсь, это поможет ...

0 голосов
/ 24 октября 2008

Если они установлены на

_visible = false

вы все равно их не увидите - а поскольку ActionScript 1/2 не делает отчетов об ошибках во время выполнения, Flash Player не будет жаловаться, если их на самом деле нет на сцене. Если они не используются, просто удалите их.

0 голосов
/ 24 октября 2008

Вы можете динамически создавать видеоклипы с кодом.

Это означает, что вы можете не иметь их в своих активах, если не можете их найти.

Вы можете создать любой тип символа, используя конструктор из воздуха с одним только actionScript.

Я бы искал код для одного из этих

var mybutton:SimpleButton=new SimpleButton();
...