![]() |
Как деактивировать объекты, если выбрается другой
Есть 3,4,5 кнопок, неважно, какое-то количество. При нажатии на кнопку допустим она меняет какие-то свои параметры, так вот чтоб при нажатии другой, она меняла свои параметры на первоначальные, а нажатая при этом меняла свои параметры.
PS извините если есть такая тема, чуток порылся не нашел. Буду признателен помощи. PPS для кнопок создан класс, и они создаются в основном классе мувика. |
Пусть созданный вами класс для кнопок предоставляет методы setDefaultParams и setSelected к примеру. Основной класс пусть сохраняет текущую выбранную кнопку в переменной selectedButton (или эту переменную можно сделать статической переменной класса кнопки). При клике по какой-либо кнопке:
Код AS3:
|
было бы здорово есби был какой-то конкретный пример =\
|
Я бы сделал какой-нибудь ButtonsManager, запихал все кнопки в него и на него же возложил обязанности по слежению и установке состояния кнопок. В конце концов всё равно скорее всего их придётся пихать в один мувиклип.
А кнопки (которые и не кнопки на самом деле, а мувиклипы, ибо должны ещё уметь принимать разные состояния) просто посылают событие при клике и обладают методами типа activate/deactivate. При клике по кнопке ButtonsManager ловит от неё MouseEvent.CLICK, вызывает у неё activate(), для предыдущей активной кнопки, ссылка на которую сохранена в приватной переменной, вызывает deactivate() и обновляет ссылку. Может ещё послать наверх событие что мол сменилась активная кнопка. |
я запарился короче, сижу второй день над вопросом, как запихать в переменную именно тот объект который я тока что тыкнул?
Добавлено через 4 минуты а точнее этот урод (Adobe Flash CS3 Professional) матерится постоянно на event.currentTarget типа говорит какая-то хреновая переменная. я уже так устал, простите за грубость, меня уже трясет от этой сраной проблемы, абсолютно элементарно, но я не могу дойти.. |
Строчку, на которой ругается (с контекстом) и текст ошибки приведите, пожалуйста.
|
все, спасибо всем, проблема решена...
function checkMenu(Event:MouseEvent) - в этой строчке писал большую "Е" вместо малой) вот и все пришлось переписывать код, чтоб заметить эту неточность. завтра выложу коды решения в 2х вариантах, тупой и короткий |
Вложений: 1
Может кому пригодится :)
|
Вот итоговый код моего меню. кому интересно. я думаю мож кто-нить даже сможет использовать его в своих целях.
Код AS3:
|
| Часовой пояс GMT +4, время: 06:50. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.