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

morda_ 08.04.2010 17:40

Изменение цвета кнопки по клику из другого клипа
 
Долблюсь уже давно с презенташкой и буду благодарен за помощь, т.к. терпения уже не хватает. AS знаю ужасно плохо.
В клипе есть несколько кнопок, b1, b2, b3, b4, b5, эти кнопки загружают на сцену в первый слой мувик с текстом. Внутри этих кнопок есть два кадра, первый кадр отображает состояние кнопки до нажатия, второй после нажатия. При нажатие на другую кнопку, эта первая возвращается на первый кадр (т.е. кнопка приходит в исходное положение). Вот код к этим кнопкам:
Код AS1/AS2:

function relese(obj)
{
    if (!obj.down)
    {
        normal();
        obj.down = true;
        obj.gotoAndStop(2);
        return;
    }
 
    obj.down = false;
    obj.gotoAndStop(1);
 
 
}
 
function normal()
{
    for (var __reg2 in arr)
    {
        this[arr[__reg2]].down = false;
        this[arr[__reg2]].gotoAndStop(1);
    }
 
}
 
arr = ["b1", "b2", "b3", "b4", "b5"];
for (var i in arr)
{
    this[arr[i]].stop();
    this[arr[i]].down = false;
 
 
 
    b1.onRelease = function ()
    {
 
        textmc = _root.tf.attachMovie("text1", "text1", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
 
 
        b2.onRelease = function ()
    {
 
                        textmc = _root.tf.attachMovie("text2", "text2", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
    ;
 
 
                b3.onRelease = function ()
    {
                        textmc = _root.tf.attachMovie("text3", "text3", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
    ;
 
}

Здесь все работает прекрасно, т.к. кнопки находятся здесь же, в этом мувике.

Ну возникла необходимость сделать в презенташке еще одно меню, с теми же кнопками, и вот задача, сделать так чтоб в этом втором меню, нажимая на кнопки, также загружался нужный текст, и главное, чтоб кнопки вели себя так же. Т.е. те же кнопки и в первом и втором меню, при нажатии на любую кнопку из этих меню "загорались" и "потухали" при нажатии на другую кнопку. Вот код, которым пытаюсь сделать второе меню, прописал путь к первому меню, чтоб реагировали одинаково на нажатие... что нужно дописать или поменять? сломал голову...
Код AS1/AS2:

function relese(obj)
{
    if (!obj.down)
    {
        normal();
        obj.down = true;
        _root.obj_mc.b1.gotoAndStop(2);
        return;
 
    }
 
 
    obj.down = false;
    _root.obj_mc.b1.gotoAndStop(1);
 
 
}
 
function normal()
{
    for (var __reg2 in arr)
    {
        this[arr[__reg2]].down = false;
        this[arr[__reg2]].gotoAndStop(1);
    }
 
}
 
 
 
 
 
arr = ["b1", "b2", "b3", "b4", "b5", "b6", "b7", "b8", "b9", "b10", "b11", "b12", "b13", "b14", "b15", "b16", "b17", "b18", "b19", "b20", "b21"];
for (var i in arr)
{
    this[arr[i]].stop();
    this[arr[i]].down = false;
 
 
 
 
        //--------------------
 
    s1.onRelease = function ()
    {
 
        textmc = _root.tf.attachMovie("text1", "text1", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
 
 
 
 
 
 
 
        s2.onRelease = function ()
    {
 
                        textmc = _root.tf.attachMovie("text2", "text2", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
    ;
 
 
 
 
 
                s3.onRelease = function ()
    {
                        textmc = _root.tf.attachMovie("text3", "text3", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
    ;
 
 
 
 
 
        s4.onRelease = function ()
    {
textmc = _root.tf.attachMovie("text4", "text4", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
    ;
 
 
 
 
 
        s5.onRelease = function ()
    {
textmc = _root.tf.attachMovie("text5", "text5", _root.getNextHighestDepth(), {_x:20, _y:20});
 
        relese(this);
    }
    ;
}

Подскажите пожалуйста, что не так
Объяснил наверное ужасно...

Seroy 08.04.2010 23:44

Не уверен, что это то самое, что нужно в вашем случае - с презентациями во флеше особо дел не имел. Но - может на мысль наведет: реакция кнопок в swf обсуждалась тут.

morda_ 09.04.2010 13:06

Цитата:

Сообщение от Seroy (Сообщение 899044)
Не уверен, что это то самое, что нужно в вашем случае - с презентациями во флеше особо дел не имел. Но - может на мысль наведет: реакция кнопок в swf обсуждалась тут.

Да! Это вполне подошло! Спасибо!


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

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