![]() |
load & duplicate
Кто ниб сталкивался с проблемой дублирования клипов в которые предварительно был загружен внешний SWF
Есть основной ролик с пустым мувиком _root.mov1 и кнопкой И загружаемый ролик mov2.swf (в котором несколько мувиков) Делаю следующее: в первом кадре основного Код:
loadMovie ("mov2.swf", "mov1");Код:
on (release) {причем если дублировать mov1 до загрузки в него mo2.swf то все работает. Я слышал Flash действительно ведет себя неадекватно в такой ситуации. Кто знает подскажите как обойти |
Попробуй загрузить фильм в какой-нить клип:
myMovieClip.loadMovie("url"); а потом продублировать myMovieClip. Должно работать. |
Цитата:
Странно что в так проге так серьезный глюк или это все таки меня глючит... |
Вложений: 1
для принципу - мона; для локалки потянет
кстати, убери экшен из "mc" и глянь, что происходитъ |
Цитата:
Но ведь это ужас какойто. Как же жить теперь честным флешерам пишушим для интернета? получается нельзя размножить подгруженный клип Его только можно подгружать несколь раз, что при отключенном кешировании просто ужасно. Неужели нет выхода? |
надежда должна ... последней - я не утверждал, что низя, авось - корифеи знают всякие хитрости (хотя... в данном случае..)
|
свф-то каширована - второй раз грузиться сразу должна
|
нужно идти иным путем. :) Загружать и аттачить.
|
Сходая проблема
Откопал через поиск эту тему...
У меня такая же проблема. Разъясните, plz, как "загрузить и аттачить" (с attachMovie() еще обращаться не умею)? Еще у меня была мысль загрузить swf в левел, но встал вопрос: а как его потом оттуда вытащить? Как, например, изменить его координаты или сдублировать? Помогите, пожалуйста. |
this.attachMovie("linkage", "newName", intDepth);
linkage - свойство мувиклипа, задается в библиотеке(праой кнопкой клик, пункт linkage, поставить свитч в положение export и ввести идентификатор в текстовое поле. Этот идентификатор и использовать) как загручзить и аттачить: делаем свф, в котором в библиотеке существует экспортируемый клип (см. выше), загружаем этот свф в другой, и там используем attachMovie . Примечание. загруженые експортируемые клипы могут быть приатачены только внутри того объекта в который они были загружены. т.е. если загрузить свф с экспортом в _level2, то аттачить их можно будет только внутри _level2. Все что не ясно, ищи в документации. :) |
Кстати, идея. В подгружаемом муве все должно лежать в одном клипе, которые лежит в главной сцене, и дублировать именно этот клип, а не тот, в который все грузилось.
|
Все же чего-то не понимаю...
Вот код: 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). Но при тестировании появляется черный экран... |
for (i=1; i<fc; i++) {
loadMovieNum ("http://mysite.ru/chipsets/"+i+".swf", 1); } загрузит только последний файл, так как, при загрузке в уровень, все остальное выгружается, это раз. Во-вторых, чтобы что-то приатачить, нужно хотябы подождать пока произойдет загрузка. |
Все равно я что-то не так делаю...
Может, выложите кто-нибудь код или исходник (на Flash 5)? Разные варианты пробовал, все не выходит. |
Ладно, сам кину
Вложений: 1
Никто помогать не хочет, сам сходник брошу.
|
Нашел... проблему.
Ура! Как грузить и аттачить понял. Но, после часа мучений, нашел еще проблему.
У меня в мувике сперва один 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.