PDA

Просмотр полной версии : Генерирование переменных...


Garald
20.11.2006, 19:18
Хочу сделать координатную сетку но чтобы значения можно было бы задавать, например от 50 до 100 или от 200 до 250...столкнулся со следующими проблемами.

Вначале попробовал сдублировать динамическое текстовое поле и по ходу назначать ему значения, не получилось, тк не получилось обратиться к новому полю...посколько имена меняются...от сюда вопрос, как обращаться к копиям, например логично было бы так:
for (i=1; i<5; ++i) {
duplicateMovieClip(q,"q"+i,i)
q+i.text=i (q+i это какбы q1 q2 q3)
}

Вот, вообщем в тупик зашел, а разбираться досконально просто нету времени :(
Подскажите пожалуйста...

Так же интересует как можно сгенерировать переменные, например есть у меня 10 текстовых полей от t1 до t10, я хочу чтобы цикл сгенерировал значения для этих полей, опять же от и до...тоже никак не получилось (((

И оффтопик...посоветуйте книгу хорошуу, прочитав которую все это я смог бы делать))) Можно на английском...
Огромное спасибо, давно пора мне знание экшн скрипта поднимать с базовых до нормальных...

iNils
20.11.2006, 19:22
Для оформления своего кода, надо использовать теги .

wvxvw
21.11.2006, 04:50
Создаем координатную сетку:
var _arr:Array = [];
for (i=0; i<10; i++) {
var tmp_arr:Array = [];
for (j=0; j<10; j++) {
tmp_arr.push(j);
}
_arr.push(tmp_arr);
}
// получили двумерный массив 10х10
for (i=0; i<_arr.length; i++) {
for (j=0; j<_arr[i].length; j++) {
var tf:TextField = _root.createTextField("tf"+i+""+j, _root.getNextHighestDepth(), i*20, j*20, 20, 20);
tf.text = i+""+j;
}
}

Garald
21.11.2006, 12:21
Здорово, спасибо.
Спрашивать как так получилось не буду, но а насчет книги хорошей, подскажите плз.

El Scream
21.11.2006, 12:53
Кнут - 3х томник. Понимаем как программировать.
переведенный мануал на этом форуме что бы привыкнуть к синтаксису.

Garald
21.11.2006, 16:21
Код чего-то неработает, ошибку выдает :(
А это специально по флэшу?
Мне бы что-то вроде полного описание возможностей action script'a + примеры...

wvxvw
21.11.2006, 17:33
2 Garald:
Версия флеша? Если 7-я, то будет ошибка вот тут:
var tf:TextField = _root.createTextField("tf"+i+""+j, _root.getNextHighestDepth(), i*20, j*20, 20, 20);
createTextField() Возвращает Void в семерке.
Чтобы работало в 7-ке:
var _arr:Array = [];
for (i=0; i<10; i++) {
var tmp_arr:Array = [];
for (j=0; j<10; j++) {
tmp_arr.push(j);
}
_arr.push(tmp_arr);
}
// получили двумерный массив 10х10
for (i=0; i<_arr.length; i++) {
for (j=0; j<_arr[i].length; j++) {
_root.createTextField("tf"+i+""+j, _root.getNextHighestDepth(), i*20, j*20, 20, 20);
var tf:TextField =_root["tf"+i+""+j];
tf.text = i+""+j;
}
}

El Scream
21.11.2006, 17:54
А это специально по флэшу?
Мне бы что-то вроде полного описание возможностей action script'a + примеры...
Дело не AS изначально. Начинать надо с искусства программирования.
Понимать что такое циклы, массивы, переменные. Потом переходить на объектно-ориентированне программирование. После этого достаточно знать синтаксис языка и пошло поехало.

Был у меня одногрупник который появлялся только на зачете. А в каждую сессию у нас обязательно чтонить новенькое подкидывали. Так вот - запускает он HELP, и через пару часов здает программу, когда как остальные часов по 6-10 сидели.
Вообщем выгнали его. Он на сессию на одну заболел - а изза пропусков ему отказали её продлить.

Garald
22.11.2006, 02:20
да про циклыи прочие начала программирования то я знаю, и голова варит потехнарьски, мне надо разобраться с возможностями AS))
То есть логически придумать схему я могу очень быстро, а вот воплотить не могу, тк фактических знаний нету...
Мы так поисковик писали в пхп, я языка не знал вообще, а друг знал, так вот я говорил что надо делать а он писал, отлично получилось)))