![]() |
обфускация swf Encrypt
Всем привет.
У меня есть два swf файла, первый - это лоадер, а второй - главный swf файлы который подгружается независимым лоадером. Когда главная swf подгрузилась, я хочу получить flashvars. написал вот так. Код AS3:
Вобщем до обфускации все работало отлично. После того как обфусцировал главную swf с помощью Encrypt 5.0 вылитают ошибки что он не может найти свойство flashvars в моем лоадере, видать обфускатор поменял имя. Потом написал вот так уже Код AS3:
Как обойти это? |
не использовать обфускацию :)
|
зачем писать такие ответы? Если не знаете, можно вобще не писать.
Если я использую, значит есть на то причины. |
flashvars, э... вроде ведь stage.loaderInfo.parameters? Или я не о том?
|
я же писал, это просто переменная
Цитата:
|
проблема вашего подхода в том, что вы не знаете кто такой parent и есть ли он вообще.(и я не думаю, что это связано с обфускацией)
отдиспатчите наверх событие, что хотите получить некие данные. наверху подумают, подумают и отдадут вам эти данные ) |
ну у меня в начале стоит проверка
Код AS3:
В API vkontakte, тоже так сделано, там получаешь wrapper = Object(parent.parent) и уже потом вытаскиваешь из него и флешварс и вызываешь разные методы |
я забил на вконтактовский application и сделал как говорит тигра - дергаю из стейджа и вся недолга
|
Anry_coolboy, дёргать parent у дисплей обджектов - дурной тон. А вот дёргать stage - нет. Проще говоря, чем Вам не угодил super.stage.loaderInfo.parameters? Попробуйте так.
P.S. если вопрос именно "почему" - то это баг криптера, очевидно. |
ок, попробую вытянуть из стейджа, но все же проблема не решена.
Вдруг мне надо будет отправить другие данные. Если я в главной swf сделаю метод что б передать данные, после обфускации прелоадер этот метод не находит.Точно так же и главная свф не видет методы прелоадера. Добавлено через 1 минуту Код:
Anry_coolboy, дёргать parent у дисплей обджектов - дурной тон. |
Диспатчите событие, ловите, отдавайте то что надо. Или передавайте ссылку в конструктор. Экспериментируйте. Флешку зашифровать - не кашу сварить)
|
)))) спасибо за советы.
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
|
Ну вот вы завязываетесь на то, что обязательно будет св-во parent, оно будет не null и у него будет определённый набор св-в/методов.
Обычно использование parent (и прочих getChild |
Так уж сложились обстоятельства, что отображаемые объекты уже знают про своих родителей, и ничего дурного в использовании этих знаний нет, ИМХО.
|
Они знают про родителей необходимый минимум.
parent.removeChild(this) – нормально (более или менее), parent.parent.parent.removeChild(parent.parent.parent.getChildByName('someChildName')) – та связанность, о которой я говорил. Подход к parent'ам как у вас, рано или поздно приведет ко второму варианту. |
Цитата:
Просто человека пугают парентами без разъяснений. А возможности огороды наогородить (про второй вариант) желающий везде найдет. |
Цитата:
|
Цитата:
|
Цитата:
Вдруг на земле наступило лето. Все снежинки сразу же оттаяли. Как их всех растаять? Земля должна приказать. А как приказать? Нужно иметь на них ссылки, например в массиве. А как иметь на них ссылку в массиве если не понятно, жива снежинка или мертва? parent.myArray.splice? Блестяще. |
Вдруг лето не наступает это раз, а два снежинка помрет от повышения температуры, т.е. на неё может влиять контроллер атмосферы. Я к тому, что parent не всегда должен иметь контроль над детьми, только лишь потому что он родитель.
|
Тогда приведите вменяемый пример когда. В примере со снежинками я не могу в любой момент узнать сколько снежинок ещё живо без извращений.
|
Цитата:
|
А, ну синглтон тоже "понятен" в качестве центральной логики. Теперь Ваши мысли поняты правильно.
|
Psycho Tiger, ты по всей видимости живешь в идеальном мире, где все проекты строятся на идеальной (по чьим то меркам) архитектуре - тебе повезло. ;)
А в реальном мире "синглтон, _root, parent и т.п. - зло", вот это мифы. Можно всё если с умом и в меру. |
Цитата:
А может у меня ниша проектов побольше, чем тех, в которых допустимо parent`ить. |
Цитата:
И не всегда нужно писать 5-7 классов ("идеальная" архитектура) чтоб вывести "Hello World!!!". |
Цитата:
Цитата:
|
Тигра перфекционист )
а вообще - редко возникают ситуации явные, когда ребенок кричит родителю "удали меня!". скорее чаще возникают события "я изменился, посмотри, что там к чему". родитель ловит событие и понимает "бааа, ды ты же умер" и удаляет. |
На счет парентов в принципе согласен - это инкапсуляция.
Но вот с обращением к паренту для самоудаления хотелось бы уточнить - просто на removeChild дебажный плеер ругается. Как тогда побороть? |
скорее всего ругается на ссылку на null объект
|
Цитата:
Цитата:
|
если писать removeChild(this) - ругается (сейчас уже не помню как, может позже напишу)
а вот если Код AS3:
...как-то так. |
Значит нету parent`а.
|
parent есть, 100%, т.к. все отличие именно в этой проверке, а от самого факта проверки парент появится не может
|
| Часовой пояс GMT +4, время: 02:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.