Форум 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)
-   -   Меню. Разные мувиклипы для уровней (http://www.flasher.ru/forum/showthread.php?t=85056)

jdonni 14.09.2006 17:08

Меню. Разные мувиклипы для уровней
 
Вложений: 1
Здраствуйте.
Переделываю XML меню.Надеюсь на вашу лояльность и помощь.

Нужно чтобы для 0,1,2..n были свои мовиклипы. Этого я добился. Но грузить я их не могу. Уже 4-ый час бьюсь. ПОМОГИТЕ, ПОДСКАЖИТЕ ПОЖАЛУСТА!

Сделал три мовиклипа, отдлельно прилинковал(mt1_, mtn_) их по аналогии с общим(mt_).

Код:

attachMovie("mt_", "mt"+i, 100000-i);
C первым мовиклипом работает.
код#1
Код:

                        if(level==0)
                                attachMovie("mt_", "mt"+i, 100000-i);
                        else if(level==1)
                                attachMovie("mt0_", "mt"+i, 100000-i);                       
                        else if(level==3)
                                attachMovie("mtn_", "mt"+i, 100000-i);

уже не работает. Работает нелепым образом: части меню пропадают и перемещаются. Почему -- не пойму :wacko:

При том что после аттача действия уже идут c созданным "mt"+i. Не пойму какая разница что аттачить и как это влияет. Ведь параметры приатаченного мовиклипа указываются дальше.

Код:

var j = eval("mt"+i);
                        j.level = level+1;
                        j.num = i;
                        j._x = int(j._width)*j.num;
                        if (n<>"_level0") {
                                j._y = int(j._heidth)+28;                               
                                j._x += 6;
                        } else {
                                j._y = 0;
                        }
                        trace(' i:'+level+' n:'+n+' num:'+j.num + '('+j._x+', '+j._y+')');
                        j.regbody = regbody[i].childNodes;
                        j.texta = " "+regbody[i].attributes.name;
                        if (j.regbody.length == 0) {
                                j.link = regbody[i].attributes.link;
                        }
                        j.regbody.length>0 ? j.arrowp._visible=true : j.arrowp._visible=false;

Исходник я присоеденил к топику. Вышеописанный код находится в Layer 1: Frame2... Неработающий код код#1 аккурат закомментирован.

jdonni 15.09.2006 16:56

Вложений: 1
Неработающая версия в присоединённом архиве.
Гляньте пожалуста как это меню работает с разными мовиклипами на разных подуровнях меню..

Может у кого вопросы есть? )
Или я не доходчиво объяснил суть проблемы..

TEHb 15.09.2006 18:08

А это вообще может нормально работать, там не только проблемы с кодом, но и элементарно с логикой.
Там еще и 5 flash ?

jdonni 15.09.2006 20:36

Проблемы могут с некоторой логики из за непонимания некоторых вещей, которые основываются на плохом знании AS ;)

Если не сложно, можешь подсказать?

Nirth 15.09.2006 20:45

Есть два способа писать код

1) писать в стиле ас2, разбивать на классы в разные файлы и пакеты
2) писать на ас1 и весь код находится в первом кадре.

у вас код разбит на классы, и есть еще в мувиках, практически отсуствуют комментарии и вообще не понятно что где искать.

я бы не ждал особой помощи.

jdonni 15.09.2006 20:52

Nirth, как же они отстутвуют? Каждая строка в комментариях.

TEHb 15.09.2006 20:56

5 flash обязателен ?
7 или 8 могу попробовать

jdonni 15.09.2006 21:04

TEHb, без разницы впринципе. Этот код и на 7-ом отлично работает, если это можно назвать "отлично" :)

Буду только рад, если поможете :)

jdonni 16.09.2006 13:06

Нашел. Ошибку. Буду благодарен, если мне подскажет со след. вопросом:

не могу понять как приатачить мовиклип к другому.

Вот неработающий атач:

Код:

selected.attachMovie("mt_", "mt"+i, 100000-i);
var j = eval("mt"+i);
trace(' j:'+j+' selected:'+selected);

ТРАССИРОВКА: j:_level0.mt1 selected:_level0.mt1

Нужно чтобы трассировка давала вот такой результат
j:_level0.mt1.mt1 selected:_level0.mt1


Подскажитею

ХЗ как это сделать :`((

iNils 16.09.2006 14:26

Код:

var j = selected.attachMovie ("mt_", "mt" + i, 100000 - i);
trace (' j:' + j + ' selected:' + selected);



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

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