Показать сообщение отдельно
Старый 08.04.2010, 17:40
morda_ вне форума Посмотреть профиль Отправить личное сообщение для morda_ Найти все сообщения от morda_
  № 1  
Ответить с цитированием
morda_

Регистрация: Jun 2007
Сообщений: 23
По умолчанию Изменение цвета кнопки по клику из другого клипа

Долблюсь уже давно с презенташкой и буду благодарен за помощь, т.к. терпения уже не хватает. 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);
    }
    ;
}
Подскажите пожалуйста, что не так
Объяснил наверное ужасно...


Последний раз редактировалось morda_; 08.04.2010 в 17:44.