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

endgegner 20.06.2007 15:24

активная кнопка во флэш меню
 
вот хотел бы знать! не могу никак допереть!
как сделать так что бы в флэш меню при нажатии кнопки она оставалаь активной(в моем случае что бы на ней оставались красные пятна) пока не нажмешь другую кнопку в этом же флэш меню! какую надо добавить команду в акшин скрипт
вот пример моего меню в котором у меня не получается так сделатьhttp://inrap.info/slang/sait/m.swf

вот акшин на кнопке у меня в меню
Код:

on (rollOver)
{ gotoAndPlay("s1");
}

on (rollOut)
{gotoAndPlay("s2");
}
on (press)
{gotoAndPlay("s3");
}on (release) {
       
        getURL("pret.html", "main");

}

а вот пример меню где это получается нормально кнопка при нажатии становится активной(видно что именно в этом разделе находишся!) пока не будет нажата другая кнопка
http://inrap.info/slang/sait/m1.swf

ЧТО МНЕ НАДО ДОБАВИТЬ ЧТОБЫ В МОЕМ МЕНЮ КНОПКА ОСТАВАЛАСЬ АКТИВНОЙ(всмысле что бы поней видно было что она нажата) ДО НАЖАТИЯ НА ДРУГУЮ КНОПКУ, КАК В ПРИМЕРЕ ВЫШЕ?
ЗАРАНИЕ БАЛОДАРЮ!

BM Senya 20.06.2007 15:47

она наоборот становится не активной
может это тебе поможет
Код:

var OldMc:MovieClip;
function onMcRelease () {
        loadMovie (this.fileToLoad, "p");
        this.trace;
        delete this.onRelease;
        if (OldMc) {
                OldMc.trace;
                OldMc.onRelease = onMcRelease;
               
        }
        OldMc = this;
}

и советую не пиши код на кнопку пиши в кадр

endgegner 20.06.2007 16:16

не поможет! это сложновато для меня и я даже не знаю куда это вставить
мож какой то попроще вариант есть???!
Может кому то не в лом я выложу исходник со шрифтом и какой-нибудь умный доброжелательный человек сделает как мне бы хотелось! а я на примере уже пойму как!
снизу исходник и шрифт
http://inrap.info/slang/sait/src.zip

Tardos Mors 20.06.2007 16:30

Ссылки сказали, что доступ запрещен.
Ставь в кадр, прочитав комментарии:
Код:

// В этот массив кладешь ссылки на все кнопки
var buttons:Array = new Array(_root.b1, _root.b2, _root.b3);
var selected_button:MovieClip = null;
function select_button(button:MovieClip):Void
{
        if (selected_button != button)
        {
                selected_button = button;
                button.gotoAndStop("selected");
                for (var i:Number = 0; i < buttons.length; i++)
                {
                        if (buttons[i] != button)
                        {
                                buttons[i].gotoAndStop("not_selected");
                        }
                }
        }
}
// Назначаешь события всем кнопкам
b1.onRelease = function()
{
        select_button(this);
        getURL ("file_1.htm");
};
b2.onRelease = function()
{
        select_button(this);
        getURL ("file_2.htm");
};
b3.onRelease = function()
{
        select_button(this);
        getURL ("file_3.htm");
};


endgegner 20.06.2007 17:32

Так вроде бы это понятно! но не понятно как это все сделать если кнопки во флэш меню анимированые если есть мувики в с фрэймами в которых анимация для rollovera и rollout! Не могу понять как проложить путь что бы rollout и rollover работал!
например если у меня такой путь buttons_mc (instance a) - glavnay.mc(instance b ) - gl.btn

вот как мне правильно написать акшин в первый кадр чтобы например фрэймы для роловера и ролаут которые находятся в glavnay.mc (b) работали

я вот думал делал так но не работает! как и где мне правильно указать пути для роловера и ролаута что бы они работали
Код:

this.a.b.gl_btn.onRollOver = function ()
{
gotoAndPlay("s1");

};

this.a.b.gl_btn.onRollOut = function ()
{
gotoAndPlay("s2");

};

this.a.b.gl_btn.onRelease = function ()
{getURL("3.html" , "3")

};

я тут много наговорил не знаю понятно ли что я имел ввиду но по другому объяснить не получилось!

вот напримере исходник http://inrap.info/slang/sait/button.fla

В этом исходнике у меня все работает и ролаут и роловер! но мне пришлось ставить весь акшин в кадр в самом мувике в котором находится фрэймы с ролаутом и ролловером! А когда я ставил это все
в первый кадр основной сцены у меня не работала
если не трудно на нем объясните как правильно путь указывать для мувика де роловер и ролаут! напримере этого исходника!

Tardos Mors 20.06.2007 18:19

Цитата:

Сообщение от Ссылка
Forbidden
You don't have permission to access /slang/sait/button.fla on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Apache/1.3.37 Server at www.inrap.info Port 80

Насчет ролловера:
Код:

this.a.b.gl_btn.onRollOut = function ()
{
  this.gotoAndPlay("s2");
};

Должно работать, если я правильно понял проблему.

endgegner 21.06.2007 10:08

Цитата:

Сообщение от Tardos Mors
Насчет ролловера:
Код:

this.a.b.gl_btn.onRollOut = function ()
{
  this.gotoAndPlay("s2");
};

Должно работать, если я правильно понял проблему.


to Tardos Mors
я перезалил на graffasc.mksat.net/button.fla

можешь сделать в этой исходнике пример как поставить и указать путь для роловера и т.д. для кнопки в первом кадре сцене! У меня в этом исходнике тоже тоже акшин в кадре но получилось только сделать так что бы работала всунуть акшин в тот же мувиклип где и сами фрэймы для роловера и ролаута! А хотелось бы что бы это все было на первом кадре основной сцены

Tardos Mors 21.06.2007 11:53

Исходник

endgegner 21.06.2007 15:04

Огромное тебе спасибо Tardos Mors
Теперь можно и занятся первоначальной проблемой мне как сделать так что бы кнопка оставалась выделеной при нажатии! Надеюсь там все получится!

Dimmi 09.08.2007 13:05

Почитал, и почти понял :) но у меня ничего не вышло когда начал писать экшн. Вобщем мне надо что бы кнопка была активна когда открыта страничка! Как это сделать? :)
Пробывал сделать так:
Код:

function setPlayButton(bt1){
        bt1.gotoAndPlay(60);
}

, не вышло :(
На каждой кнопке висит это:
Код:

on (rollOver) {
        gotoAndPlay("up");
}
on (rollOut) {
        gotoAndPlay("down");
}
on (release) {
        getURL("forum.htm");
}



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

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