Просмотр полной версии : матрица из дублированных клипов ...
Люди!
Во хотел сделать матрицу из текстовых полей (они заключены в клипе twoBit)...
код и клип расположены на главной временной диаграмме
но чё-т не очень получается...
посмотрите, чё тут не то?..
for (i=0; i<=10; i++) {
duplicateMovieClip ('twoBit','twoBit'+i,i);
eval ('twoBit'+i)._x += 10*i;
for (j=11; j<=23; j++) {
duplicateMovieClip ('twoBit','twoBit'+j,j);
eval ('twoBit'+j)._y += (j*18)-170;
}
}
спсбо... :)
Nox Noctis
17.04.2002, 19:05
ммм... во-первых у тебя глубина, на которую дублируешь постоянно повторяется, и из-за этого клипы все время друг друга стирают, во-вторых - та же фигня с именами клипов :)
я бы сделал что-нить вроде так:
def = {x:twobit._x, y:twobit._y} // чтобы не париться засекаем начальное положение клипа
for (i=0; i<11; i++) {
for (j=0; j<11; j++) {
duplicateMovieClip("twoBit", nnm="twoBit"+i+"_"+j, i*12+j);
this[nnm]._x = def.x+10*i
this[nnm]._y = def.y+j*18
}
}
:)
RFMitrio
17.04.2002, 19:07
lv=1;
for(i=0;i<12;i++)
{
for(j=0;j<13;j++)
{
duplicateMovieClip ('twoBit','twoBit'+lv,lv);
this["twoBit"+lv]._x = 10*j;
this["twoBit"+lv++]._y = 18*i-170;
}
}
не успел:) :)
Nox Noctis
17.04.2002, 19:14
Оригинал написал(а) RFMitrio
не успел:) :)
:p
DeliMIter
17.04.2002, 19:37
Уважаемые титаны! Я вклинюсь в вашу битву и напомню, что
for (i = 0; i < 12; i++)
for (j = 0; j < 13; j++)
createTextField("twoBit_" + i + "_" + j, ++_depth, i * 60, j * 20, 50, 16);
короче всего вышеупомянутого и обладает более приятной и интуитивной адресацией впоследствии. И хотя постановка задачи состояла именно в использовании duplicateMovieCLip, но мне как-то кажется, что так все таки проще ;)))))))
Успехов!
Nox Noctis
17.04.2002, 19:44
ироничный какой нашелся :)
во-первых: человек просил найти и исправить ошибки в _его_ скрипте
во-вторых: дубликейт он и в африке дубликейт, а вот криэйтТекстФилд - он такой чччерт знает (и мы тоже знаем) где :D
и вообще - ты поменял задачу и еще ехидничаешь ;)
2Nox Noctis && 2RFMitrio
Спасибо - усё работает...
тока если не в лом объясните - не всё понял КАК это работает:
1) this["twoBit"+lv] - что эт за массив с чем его, так сказать...
2)def = {x:twobit._x, y:twobit._y} - что это за конструкция и с чем ее...
2DeliMIter
Спасибо за ответ
тока не понял - чё это за ф-ция: createTextField
и как её юзать...
всем спасибо!!! ;) :)
Nox Noctis
18.04.2002, 01:19
this["twoBit"+lv]
по сути то же самое, что у тебя было в виде: eval("twoBit"+lv),
только работает гораздо быстрее, и выглядит изящнее :)
все объекты, созданные в таймлайне или скриптом объединяются в ассоциативный массив, поэтому можно к чему угодно обратиться через:
путь_к_родительскому_объекту["имя_объекта"]
где "имя_объекта" - это название переменной, мувиклипа, и т.п.
def = {x:twobit._x, y:twobit._y}
это то же самое что:
def = new Object()
def.x = twobit._x;
def.y = twobit._y;
только компактнее :)
2Nox Noctis
Спасибо!!! :)
терь понял... ;)
DeliMIter
18.04.2002, 15:29
2Nox Noctis
Я ведь этого и не скрывал :))))))))))))))))) !!!!!!!!!!!!!!
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.