Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   load & duplicate (http://www.flasher.ru/forum/showthread.php?t=36150)

alex007 23.08.2002 11:18

load & duplicate
 
Кто ниб сталкивался с проблемой дублирования клипов в которые предварительно был загружен внешний SWF
Есть основной ролик с пустым мувиком _root.mov1 и кнопкой
И загружаемый ролик mov2.swf (в котором несколько мувиков)
Делаю следующее:
в первом кадре основного
Код:

loadMovie ("mov2.swf", "mov1");
По нажатию кнопки в основном
Код:

on (release) {
duplicateMovieClip("mov1","mov3",3);
}

загрузка работает всегда а дублирование не происходит почему-то. :(

причем если дублировать mov1 до загрузки в него mo2.swf то все работает.
Я слышал Flash действительно ведет себя неадекватно в такой ситуации.

Кто знает подскажите как обойти

stormaster 23.08.2002 11:41

Попробуй загрузить фильм в какой-нить клип:
myMovieClip.loadMovie("url");
а потом продублировать myMovieClip. Должно работать.

alex007 23.08.2002 12:20

Цитата:

Оригинал написал(а) stormaster
Попробуй загрузить фильм в какой-нить клип:
myMovieClip.loadMovie("url");
а потом продублировать myMovieClip. Должно работать.

Спасибо за предложение. не совсем понял разницу но попробовал :) Увы не получилось :(
Странно что в так проге так серьезный глюк или это все таки меня глючит...

Papa Karlo 23.08.2002 13:13

Вложений: 1
для принципу - мона; для локалки потянет
кстати, убери экшен из "mc" и глянь, что происходитъ

alex007 23.08.2002 16:42

Цитата:

Оригинал написал(а) Papa Karlo
Бол спасибо за примерчик.

Но ведь это ужас какойто. Как же жить теперь честным флешерам пишушим для интернета?

получается нельзя размножить подгруженный клип
Его только можно подгружать несколь раз, что при отключенном кешировании просто ужасно.
Неужели нет выхода?

Papa Karlo 23.08.2002 16:48

надежда должна ... последней - я не утверждал, что низя, авось - корифеи знают всякие хитрости (хотя... в данном случае..)

sts 23.08.2002 17:06

свф-то каширована - второй раз грузиться сразу должна

C2Plus 23.08.2002 17:16

нужно идти иным путем. :) Загружать и аттачить.

Aracon 11.11.2002 19:50

Сходая проблема
 
Откопал через поиск эту тему...
У меня такая же проблема. Разъясните, plz, как "загрузить и аттачить" (с attachMovie() еще обращаться не умею)?
Еще у меня была мысль загрузить swf в левел, но встал вопрос: а как его потом оттуда вытащить? Как, например, изменить его координаты или сдублировать?
Помогите, пожалуйста.

C2Plus 12.11.2002 11:24

this.attachMovie("linkage", "newName", intDepth);

linkage - свойство мувиклипа, задается в библиотеке(праой кнопкой клик, пункт linkage, поставить свитч в положение export и ввести идентификатор в текстовое поле. Этот идентификатор и использовать)

как загручзить и аттачить:

делаем свф, в котором в библиотеке существует экспортируемый клип (см. выше), загружаем этот свф в другой, и там используем attachMovie .

Примечание.
загруженые експортируемые клипы могут быть приатачены только внутри того объекта в который они были загружены. т.е. если загрузить свф с экспортом в _level2, то аттачить их можно будет только внутри _level2.

Все что не ясно, ищи в документации. :)

DeliMIter 12.11.2002 15:22

Кстати, идея. В подгружаемом муве все должно лежать в одном клипе, которые лежит в главной сцене, и дублировать именно этот клип, а не тот, в который все грузилось.

Aracon 13.11.2002 22:44

Все же чего-то не понимаю...
Вот код:
for (i=1; i<fc; i++) {
loadMovieNum ("http://mysite.ru/chipsets/"+i+".swf", 1);
}
ft = 1000;
fpx3 = 0;
fpy3 = 0;

for (iy=0; iy<10; iy++) {
for (ix=0; ix<14; ix++) {
_level1.attachMovie("pix"+f(ix, iy) , "fsmp"+ix+"-"+iy, ft);
eval("fsmp"+ix+"-"+iy)._x = fpx3;
eval("fsmp"+ix+"-"+iy)._y = fpy3;
fpx3 = fpx3+40;
ft++;
}
fpy3 = fpy3+40;
fpx3 = 0;
}

Переменные fpx3 и fpy3 просто расставляют чипсеты по экрану. ft - переменная для глубины. f(ix, iy) - выражение, по которому получаем имя мувиклипа. Такой мувиклип есть в загруженном мувике и linkage=f(ix, iy).
Но при тестировании появляется черный экран...

C2Plus 14.11.2002 14:20

for (i=1; i<fc; i++) {
loadMovieNum ("http://mysite.ru/chipsets/"+i+".swf", 1);
}


загрузит только последний файл, так как, при загрузке в уровень, все остальное выгружается, это раз.

Во-вторых, чтобы что-то приатачить, нужно хотябы подождать пока произойдет загрузка.

Aracon 16.11.2002 15:56

Все равно я что-то не так делаю...
Может, выложите кто-нибудь код или исходник (на Flash 5)?
Разные варианты пробовал, все не выходит.

Aracon 17.11.2002 17:08

Ладно, сам кину
 
Вложений: 1
Никто помогать не хочет, сам сходник брошу.

Aracon 17.11.2002 19:37

Нашел... проблему.
 
Ура! Как грузить и аттачить понял. Но, после часа мучений, нашел еще проблему.
У меня в мувике сперва один movieclip дублируется n-ное число раз, а потом в получившиеся мувиклипы загрузаются внешние swf.
И вот проблема: если мувик сдублировать, а потом грузить swf, а затем аттачить, то ничего не аттачится.
Хотя, если в уже готовый мувик загрузить swf и затем аттачить, все выходит.

Был код такой:
this["fmap0-0"]="grass";
this["fpa"]="set";
fts=0;
fkd=3;
fcd="set";

loadMovie ("./grass.swf", "abc2");
eval("abc"+"2").attachMovie( "pix"+this["fmap0-"+fts], fcd, 1000 );
tellTarget(eval("abc"+"2")) {
eval(this["fcd"])._x=_xmouse-abc2._x;
}
abc2.set._y=_ymouse-abc2._y;

Такой код работает.
(Всякие излишки кода - вроде eval("abc"+"2") - для чистоты эксперимента, имитируют код из разрабатываемой игры).

А вот такой:
this["fmap0-0"]="grass";
this["fpa"]="set";
fts=0;
fkd=3;
fcd="set";

duplicateMovieClip("abc2", "abc3", 100);
loadMovie ("./grass.swf", "abc3");
eval("abc"+"3").attachMovie( "pix"+this["fmap0-"+fts], fcd, 1000 );
tellTarget(eval("abc"+"3")) {
eval(this["fcd"])._x=_xmouse-abc3._x;
}
abc3.set._y=_ymouse-abc3._y;

Такой уже не работает.
То есть swf грузит, но не аттачит.
Может, поможет кто?


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

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