Форум 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=125356)

Dr_Bra 22.05.2009 11:53

управление родительским клипом
 
Вложений: 1
Всем привет!
Помогите, пожалуйста составить корректный код, для выдвигающейся панели меню.

Сейчас ситуация такая:
1) Есть мувиклип "menud", внутри сделана анимация (выезжает, заезжает).
2) Внутри "menud" есть мувиклип "bord", который содержит 5 анимированных клипов-кнопок.

в мувиклипе "menud" в первом кадре ставим условие
Код AS1/AS2:

stop();
 
bord.bord_in.onRollOver = function() {
        play();
        f=1
        this.useHandCursor = false;
 
}
 
bord.bord_in.onRollOut = function() {
        f=0
 
}

по середине анимации проверяем условие
Код AS1/AS2:

if (f == 1) {
        stop();
        _parent.panel.panel_in.onRollOut = function() {
                play();
        };
} else {
        play();
}

Вот тут возникает проблема. Если курсор находится над какой-нибудь из 5ти кнопок, вышеуказанная функция не работает, и панель прячется.

к кнопкам прописана вот эта функция, которую скорее всего и надо подредактировать
Код AS1/AS2:

glavnaya.onPress = push_the_button;
glavnaya.param = 'glavnaya';
o_nas.onPress = push_the_button;
o_nas.param = 'o_nas';
uslugy.onPress = push_the_button;
uslugy.param = 'uslugy';
tovar.onPress = push_the_button;
tovar.param = 'tovar';
kontakt.onPress = push_the_button;
kontakt.param = 'kontakt';
var lastPressed:MovieClip = null;
 
 
function push_the_button() {
    trace(this._name);
    lastPressed.enabled = true;
    lastPressed.gotoAndPlay("_up");
        lastPressed._root.menud.gotoAndStop(14);
    lastPressed = this;
    lastPressed.enabled = false;
    //mcl.loadClip(this.param+'.swf',box);
        var mcl:MovieClipLoader = new MovieClipLoader();
    mcl.loadClip(this.param+'.swf',_parent._parent.out_images_cont.images_cont);
}


ОльгаЮрьевна 22.05.2009 13:49

по середине анимации проверяем условие
Код AS1/AS2:

if (f == 1) {
        stop();
        _parent.panel.panel_in.onRollOut = function() {
                play();
        };
} else {
        play();
}

panel_in - НЕТ мувика с таким инстансом:)

Dr_Bra 22.05.2009 14:39

Цитата:

Сообщение от ОльгаЮрьевна (Сообщение 822070)
по середине анимации проверяем условие
Код AS1/AS2:

if (f == 1) {
        stop();
        _parent.panel.panel_in.onRollOut = function() {
                play();
        };
} else {
        play();
}

panel_in - НЕТ мувика с таким инстансом:)

упс, вы правы )
тогда по идее проверяем так:
Код AS1/AS2:

if (f == 1) {
        stop();
        _parent.bord.bord_in.onRollOut = function() {
                play();
        };
} else {
        play();
}

Добавлено через 1 минуту
только как-то не помогло(

ОльгаЮрьевна 22.05.2009 14:50

Dr_Bra - у вас там каша кашинская:) зачем вы написали код внутри самих мувиков?... код пишется на основном timeline в первом фрейме - от-туда и идет управление - попробуйте переписать - сейчас очень все запутано:) ну к примеру: на основном столе у вас лежит мувик-панель (menud) а двигаете вы почему-то не ее, а мувик внутри ее, который является точной копией панели:(

Dr_Bra 22.05.2009 15:01

без каши у меня не получается ))
почему у меня вся анимация внутри мувика - потому, что я (по своей не опытности) считаю что, если делать резиновый сайтик с такой менюшкой, необходимо объекту прописывать координаты по x и y, а если же на основном столе будет анимированная панель, врядли тогда она будет корректно работать

Добавлено через 1 минуту
в этом примере было бы замечательно, если бы при ролловер или роллаут переменная f задавала бы значение равное 1

ОльгаЮрьевна 22.05.2009 16:07

Dr_Bra - все в куче:) резиновый flash - тема отдельная немного (http://flash-mx.ru/url_elastic#1), а вам надо разобраться с управлением мувиков. А почему вас смущает наличие панели на основном столе - не понятно:(

Dr_Bra 22.05.2009 17:22

Цитата:

Сообщение от ОльгаЮрьевна (Сообщение 822111)
Dr_Bra - все в куче:) резиновый flash - тема отдельная немного (http://flash-mx.ru/url_elastic#1), а вам надо разобраться с управлением мувиков. А почему вас смущает наличие панели на основном столе - не понятно:(

согласен, сейчас не про резину )))
может попробуем еще придумать какой-нибудь вариант, для кнопок на ролловер?м?))

zhalex 22.05.2009 17:33

> Вот тут возникает проблема. Если курсор находится над какой-нибудь из 5ти >кнопок, вышеуказанная функция не работает, и панель прячется

какая вышеуказанная имеется ввиду?

Dr_Bra 22.05.2009 18:06

Цитата:

Сообщение от zhalex (Сообщение 822133)
> Вот тут возникает проблема. Если курсор находится над какой-нибудь из 5ти >кнопок, вышеуказанная функция не работает, и панель прячется

какая вышеуказанная имеется ввиду?

bord.bord_in.onRollOver = function()
она принимает значение f == 0, не факт но я так предполагаю


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

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