Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Замена runtime sharing на loadMovie+attachMovie в AS 1.0? (http://www.flasher.ru/forum/showthread.php?t=157311)

Charly84 03.06.2011 16:25

Замена runtime sharing на loadMovie+attachMovie в AS 1.0?
 
Добрый день. Передо мной поставлена задача избавиться от runtime sharing для игры, которая в данный момент его использует (не буду углубляться почему его надо убрать).

game.swf - файл игры
content.swf - контент для кнопочен и т.д. на разных языках в виде картинок и мувиков.

Для этого:
1. Убираю "Import for runtime sharing" в FLA (game.swf) в который раньше подгружался контент из внешнего файла (content.swf) с помощью runtime sharing.
2. В "content.swf" убираю "Export for runtime sharing" и ставлю галочки над "Export for ActionScript", "..in first frame" и указываю Identifier для всех объектов в библиотеке.
3. Подгружаю в "game.swf" файл "content.swf" на _levelN (либо в мувик-контейнер).
4. Как только файл "content.swf" загружен в "game.swf" я делаю attachMovie и указываю идентификатор, который я указал в "content.swf".

Проблема в том, что клипы не аттачатся. C "game.swf" нет доступа к библиотеке загруженного в него "content.swf" кроме 2 случаев:
Есть 2 способа как можно приаттачить мувик с библиотеки загруженого в него SWF:
1. Можно аттачить объекты только в том мувике и всех его подмувиках, в который был загружен SWF методом loadMovie
2. Можно аттачить объекты только в том слое, в который был загружен SWF методом loadMovieNum.

Например:
1. гружу content.swf в game.swf на _root.container_mc.
- Если хочу сделать attachMovie для объекта, который находится в content.swf на _root - не аттачится
- Если хочу сделать attachMovie для объекта, который находится в content.swf на _root.container_mc - работает.
- Попытки дублировать клип через duplicateMovieClip с _root.container_mc на _root увенчались неудачей.

Но в игре объекты находятся в разных местах с разной вложенностью, поэому мне надо аттачить объекты с загруженного content.swf в разные места, а ActionScript 1.0 похоже против такого хода событий, он может аттачить только там (клип или слой) куда был загружен swf.

Игра написана на ActionScript 1.0 (Flash Player 6).

Вопрос: можно ли как-от обращаться и класть на сцену объекты с загруженного SWF при описанной ситуации.
Или может есть более простой способ как избавится от runtime sharing в уже готовой, отттестированой программе (довольно большой программе с кучей кода % ) что б не поламать ее.

Спасибо.

dark256 03.06.2011 18:05

Нет. Из одной свф-ки в другую вы клипы не подгрузите никак.
Оттуда можно аттачить картинки.
Есть также вариант с аттачем клипа на сцену content.swf, отрисовка его в битмапдату, и после этого уже аттач в главный ролик.

Charly84 06.06.2011 17:32

Если не ошибаюсь возможность аттачить картинки появилась с Flash Player 8. Пробовал перекомпилисть с 6го на 8й - игра перестает работать :) - улыбаюсь с бэк компабилити флеш плеера :)

Спасибо за подсказку с битмапой! Таким извратом можно аттачить мувики, но по понятным причинам только статические. Получается, что анимационный клип в 1 и 2м скрипте никак не приаттачить с внешней библиотеки (

dark256 06.06.2011 21:45

ну.... можно клип с анимацией проиграть по кадрам, сделать битмапы кадров...
и потом уже проигрывать его "ручками"...
Имхо проще на все это плюнуть и оставить как есть.


Часовой пояс GMT +4, время: 10:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.