Mattie
13.11.2006, 19:15
Здравствуйте,
у меня на сцене
1) мувиклипы, которые должны изменять цвет (A и B)
2) комбо бокс (ничего не выбрано; выбрано A, data = A; выбрано B, data = B),
3) три кнопочки - цветные прямоугольники (белый, синий, красный),
Задача: если пользователь в комбо боксе выбрал А, затем нажал на кнопочку "белый" - мувиклип А должен стать белым. если затем он нажал на "синий" - мувиклип А должен стать синим.
т.е. пользователь, нажимая на кнопки может менять цвет у того муви клипа, который в данный момент выбран в комбо боксе.
вот такой код в первом кадре в корне:
var listenerObject:Object = new Object();
listenerObject.change = function(eventObject:Object) {
_root.selectedIs = colour.selectedItem.data;
};
// colour - это instance для комбо бокса
colour.addEventListener("change", listenerObject);
вот такой код повешен на кнопку "красный"
on (release) {
trace(_root.selectedIs);
if (_root.selectedIs == 'А')
{
my_color.setRGB(0xFF0000);
var my_color = new Color(_root.sec);
}
if (_root.selectedIs == 'В)
{
my_color.setRGB(0xFF0000);
var my_color = new Color(_root.min);
}
}
вот при таком раскладе trace, который в кнопочке срабатывает всегда и сразу, показывает то, что действительно выбрано в комбо боксе, но при этом ни А, ни В не изменяют свой цвет, а изменяют они его только при повторном нажатии на кнопочку, причем trace при повторном нажатии также четко срабатывает.
почему функция изменения цвета срабатывает только при повторном нажатии? ведь она в той же функции, что и trace?!?!
у меня на сцене
1) мувиклипы, которые должны изменять цвет (A и B)
2) комбо бокс (ничего не выбрано; выбрано A, data = A; выбрано B, data = B),
3) три кнопочки - цветные прямоугольники (белый, синий, красный),
Задача: если пользователь в комбо боксе выбрал А, затем нажал на кнопочку "белый" - мувиклип А должен стать белым. если затем он нажал на "синий" - мувиклип А должен стать синим.
т.е. пользователь, нажимая на кнопки может менять цвет у того муви клипа, который в данный момент выбран в комбо боксе.
вот такой код в первом кадре в корне:
var listenerObject:Object = new Object();
listenerObject.change = function(eventObject:Object) {
_root.selectedIs = colour.selectedItem.data;
};
// colour - это instance для комбо бокса
colour.addEventListener("change", listenerObject);
вот такой код повешен на кнопку "красный"
on (release) {
trace(_root.selectedIs);
if (_root.selectedIs == 'А')
{
my_color.setRGB(0xFF0000);
var my_color = new Color(_root.sec);
}
if (_root.selectedIs == 'В)
{
my_color.setRGB(0xFF0000);
var my_color = new Color(_root.min);
}
}
вот при таком раскладе trace, который в кнопочке срабатывает всегда и сразу, показывает то, что действительно выбрано в комбо боксе, но при этом ни А, ни В не изменяют свой цвет, а изменяют они его только при повторном нажатии на кнопочку, причем trace при повторном нажатии также четко срабатывает.
почему функция изменения цвета срабатывает только при повторном нажатии? ведь она в той же функции, что и trace?!?!