Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 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.
Старый 08.04.2010, 23:44
Seroy вне форума Посмотреть профиль Отправить личное сообщение для Seroy Найти все сообщения от Seroy
  № 2  
Ответить с цитированием
Seroy

Регистрация: Jun 2008
Адрес: пока еще здесь
Сообщений: 198
Не уверен, что это то самое, что нужно в вашем случае - с презентациями во флеше особо дел не имел. Но - может на мысль наведет: реакция кнопок в swf обсуждалась тут.
__________________
флэшь проела плешь

Старый 09.04.2010, 13:06
morda_ вне форума Посмотреть профиль Отправить личное сообщение для morda_ Найти все сообщения от morda_
  № 3  
Ответить с цитированием
morda_

Регистрация: Jun 2007
Сообщений: 23
Цитата:
Сообщение от Seroy Посмотреть сообщение
Не уверен, что это то самое, что нужно в вашем случае - с презентациями во флеше особо дел не имел. Но - может на мысль наведет: реакция кнопок в swf обсуждалась тут.
Да! Это вполне подошло! Спасибо!

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:48.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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