![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: May 2003
Адрес: Россия, Тула,...
Сообщений: 14
|
Создаю RadioButton'ы в руте:
rb_d[i]=_root.createClassObject(mx.controls.RadioButton, "rb"+i, i+100, {_x:395,_y:y2,groupName:"g1"});
Но не происходит. Идиотский вопрос - почему? Depth трейсил - неотрицательный. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Потому что i у тебя неправильный.
|
|
|||||
|
Регистрация: May 2003
Адрес: Россия, Тула,...
Сообщений: 14
|
? В смысле?
i - переменная цикла, положительная. Какой она тогда должна быть? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Стандартные грабли начинающего программера, который полагает, что если он счетчик i написал внутри какой-то функции, объявленной в цикле, то этот самый счетчик i внутри этой функции будет заморожен и иметь значение, равное тому, что было в момент создания функции. Это на самом деле не так, значение i будет равно тому, которое будет после выполнения цикла (т.е. равен n при схеме i<n). Выходом обычно является присвоение объекту в цикле переменной, содержащее текущее значение i, а внутри функции использовать эту переменную.
Код приводить не буду, на эти граблы наступает куча человек и лучше вникнуть и написать код самостоятельно. |
|
|||||
|
Регистрация: May 2003
Адрес: Россия, Тула,...
Сообщений: 14
|
Не, там нет функции. Два независимых цикла откручиваются от 0 до n.
Просто после нажатия на кнопку я прокручиваю массив rb_d и пытаюсь удалить объекты. Т.е. i меняется как ей и положено. Хотя сейчас попробую. |
|
|||||
|
Регистрация: May 2003
Адрес: Россия, Тула,...
Сообщений: 14
|
Это первый цикл, в котором создаются мувики и соответствующие им радиобаттоны:
l=category1[0].length;
asd=Array(l);
rb_d=Array(l);
for(i=0;i<l;i++){
y1=274+30*i;
y2=283+30*i;
asd[i]=_root.attachMovie("as", "as"+i, i+1,{_x:400,_y:y1});
rb_d[i]=_root.createClassObject(mx.controls.RadioButton, "rb"+i, i+100, {_x:395,_y:y2,groupName:"g1"});
trace(rb_d[i]);
_root.asd[i].part.text=category1[0][i].parts;
_root.asd[i].item.text=category1[0][i].platform;
}
Причем _root.asd[j].removeMovieClip(); - отрабатыват нормально. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Да, ещё один момент — в destroyObject нужно передавать не ссылку на удаляемый объект, а имя этого объекта.
Да, и приведи в порядок имена переменных. |
|
|||||
|
Регистрация: May 2003
Адрес: Россия, Тула,...
Сообщений: 14
|
Сенькс, заработало. Видимо я невнимательно хелп читал.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 17:57. |
|
|
« Предыдущая тема | Следующая тема » |
|
|