Сейчас на форуме: vasilevradislav, Magister Yoda, site-pro, Rio (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Удаление фрейма из swf
Посл.ответ Сообщение


Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 24 апреля 2013 15:47 · Поправил: -=AkaBOSS=-
· Личное сообщение · #1

доброго времени суток!

есть несколько флэш-игр, в которые встроены прелоадеры, скачивающие и показывающие рекламу перед стартом игры, и это нехорошо.
так как прелоадер работает в отдельном фрейме, можно просто удалить этот фрейм, но после того, как я вырезал лишние теги, игра не запускается.
подозреваю, что нужно пофиксить идентификаторы в теге SymbolClass, но не знаю, как именно.
спецы по флэшу, подскажите, пожалуйста, где я накосячил?

ЗЫ. меня интересует именно полное удаление прелоадера, а не правка его кода.

по ссылке - оригинальный файл (с прелоадером) и изменённый файл (нерабочий)


и еще. при загрузке файла в ASV появляется предупреждение:
Code:
  1. 1        Used Character 2 not found for PlaceObject2. [Warning]
  2. 2        Used Character 1 not found for PlaceObject2. [Warning]
  3. 3        Used Character 2 not found for PlaceObject2. [Warning]
  4. 4        Used Character 1 not found for PlaceObject2. [Warning]


суть этих ворнингов для меня неясна - где в файле используется тег PlaceObject2, я так и не нашёл.



Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 24 апреля 2013 17:24 · Поправил: JohnyDoe
· Личное сообщение · #2

Что значит нехорошо что показывает рекламу. Разработчик так денежки зарабатывает.

И нифига ты не понимаешь во флеше. Пишешь про какие-то фреймы. Надо в спрайте 51 удалить спрайт 50, показывающий рекламу. Потом надо поправить код внутри флеша, потому как без правки кода работать не будет. И не забываем править размер самого спрайта и всего файла целиком.

Картина маслом:






Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 24 апреля 2013 23:17
· Личное сообщение · #3

Я бы сделал проще.
Достаточно потереть из метода init:

var cpmstar:DisplayObject = new AdLoader(Global.CPMSTAR);
this.preloaderMC.adBox.addChild(cpmstar);

и все.

да и таймаут в 10 сек можно заменить на прямой вызов метода startLoading

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.




Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 24 апреля 2013 23:36
· Личное сообщение · #4

4kusNick

adBox не виден на черном фоне так что можно и так. Если бы фон был светлым, то был бы виден черный прямоугольник. Я не люблю лишних элементов .

Там кстати еще и логи отсылаются на сервак сбора статистики. Если есть намерения размещать где-то в инете, то их стоит отрезать. А то автор флеша в гости придет. Ему в целом пофиг, но отрезанная реклама может не понравиться.




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 24 апреля 2013 23:44
· Личное сообщение · #5

Да, это все понятно, я тоже не люблю лишнее, и будь задача - почистить флэшку вообще от лишнего, надо было бы почикать куда больше, но я скорее о конкретной задаче, которую решал ТС.

-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 25 апреля 2013 00:57
· Личное сообщение · #6

спасибо всем за внимание к моей проблеме, но я уже сам разобрался.

я почитал документацию и понял, почему после моих изменений файл не запускался.
оказалось, что удаляя данные, относящиеся к прелоадеру, я случайно стёр информацию о классе, который должен вызываться при старте воспроизведения.

достаточно было добавить в тег SymbolClass строчку (использовал SWiX):
<Symbol Tag="0" Name="GloomyTruck" />
и флэшка запустилась.

в общем, из флэшки я удалил все данные прелоадера, кроме тега doABC, так как его код частично используется основным кодом.
если кому-то интересно глянуть - файл в аттаче.





Ранг: 105.6 (ветеран), 69thx
Активность: 0.060
Статус: Участник

Создано: 25 апреля 2013 01:29
· Личное сообщение · #7

4kusNick

А ты говоришь убрать addChild .

-=AkaBOSS=-

да ты просто вандал . Игры с фреймами кстати могут дорого обойтись. Скальпель в этом деле лучше топора. Да и прелоадер штука больше полезная, чем вредная.




Ранг: 748.2 (! !), 390thx
Активность: 0.370
Статус: Участник
bytecode!

Создано: 25 апреля 2013 01:38
· Личное сообщение · #8

-=AkaBOSS=-
Ну вы вообще... суровый человек, однако =) Зачем прелоадер-то загубили?) Хотя если оно только для локального просмотра - тогда понятно.

JohnyDoe


-----
Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.





Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 25 апреля 2013 03:07 · Поправил: -=AkaBOSS=-
· Личное сообщение · #9

JohnyDoe пишет:
да ты просто вандал

есть немного

4kusNick пишет:
Зачем прелоадер-то загубили?)

этот прелоадер - навесная рекламная хрень, которая шифрует тело флэшки и, зачастую, блокирует её под определённый домен. практической пользы для пользователя - от нуля и ниже.

4kusNick пишет:
если оно только для локального просмотра

именно так

что же, еще раз спасибо всем, кто обратил внимание на мой вопрос.
проблема решена, все файлы успешно обработаны, тему закрываю.


 eXeL@B —› Крэки, обсуждения —› Удаление фрейма из swf
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати