PDA

Просмотр полной версии : короткий скрипт


CREDO
23.11.2005, 01:07
какой самый короткий скрипт создаст сразу несколько пустых клипов, отличающихся только частью имени.

CREDO
23.11.2005, 01:46
Как бы их ещё и выставить в таблицу 3 столбца и 4 строки.

mixey_lv
23.11.2005, 02:44
for(i=0,i<5,i++){
_root.createEmptyMovieClip("imya_"+i, getNextHighestDepth());
}
за синтаксис не отвечу, писал из головы...
про столбцы...просто сделай цикл в цикле, один отвечает за строку, второй за столбец

MOHCTEP
23.11.2005, 04:04
var count=0;
for(w=0;w<3;w++){// к-во столбцов
for(h=0;h<4;h++){ // к-во строк
count++;
var mc=_root.createEmptyMovieClip("imya_"+count, getNextHighestDepth());
// тут бы в клип че нить запехать...
mc._x=mc._width*w, mc._y=mc_height*h;// расставляем по ранжиру
}
}
Правда пока клипы пустые они встанут непредсказуемо, поелику у них ни длины, ни ширины нет.

Antares
23.11.2005, 05:18
какой самый короткий скрипт создаст сразу несколько пустых клипов, отличающихся только частью имени.
Самый короткий? это конкурс?
for(var key in this) this.createEmptyMovieClip("a" + key, this.getNextHighestDepth());

86 символов.

KUZEN
23.11.2005, 05:21
Самый короткий? это конкурс?
for(var key in this) this.createEmptyMovieClip("a" + key, this.getNextHighestDepth());

86 символов.
Ещё короче )))

for(var key in this) this.createEmptyMovieClip("a" + key, key);

Antares
23.11.2005, 06:05
Ещё короче )))

for(var key in this) this.createEmptyMovieClip("a" + key, key);
Неа... не создастся. Угадай почему ;)

KUZEN
23.11.2005, 06:14
Да что так что так всё равно один мувик лепится ))) ... я это так ради развлекухи .. а теперь обьясни каким образом мувов должно налепиться много ?

Antares
23.11.2005, 06:20
В моем случае? все очевидно. Разные имена, разные глубины. В твоем глубины в большинстве случаев будут иметь значение NaN, т.к. ключи-числа у мувиклипов не так часто встретишь -- только переменные типа Number

Nirth
23.11.2005, 06:23
for(key in this)createEmptyMovieClip("a"+key,getNextHighestDepth());

На 17 символов меньше чем у Антареса

Antares
23.11.2005, 06:26
for(var i=0;i<5;i++){createEmptyMovieClip(i,i);}

Бугагагага!

Nirth
23.11.2005, 06:27
for(i=0;i<5;i++)createEmptyMovieClip(i,i);

гагагагага

Antares
23.11.2005, 06:29
Ну ок. В условии не было "не подвесить при этом машину на 15 секунд"

while(i)createEmptyMovieClip(i,i);

St. Father
23.11.2005, 09:12
for(i=0;i<5;)createEmptyMovieClip(++i,i)
гыгы
и работает и короче чем все рабочие варианты :)
рабочие = !читерские;
;)

St. Father
23.11.2005, 09:16
Ну ок. В условии не было "не подвесить при этом машину на 15 секунд"

while(i)createEmptyMovieClip(i,i);
кстати. в условии было "создать 4 РАЗНЫХ клипа"!!! :-P
З.Ы. Де мой приз? о.0

CREDO
23.11.2005, 17:44
var count=0;
for(w=0;w<3;w++){// к-во столбцов
for(h=0;h<4;h++){ // к-во строк
count++;
var mc=_root.createEmptyMovieClip("imya_"+count, getNextHighestDepth());
_root["imya"+count].attachMovie("lon","lon",2); // ?
mc._x=mc._width*w, mc._y=mc_height*h;// расставляем по ранжиру
}
}

не получается аттачить в клипы, что не так?

CREDO
23.11.2005, 17:52
var count=0;
for(w=0;w<3;w++){// к-во столбцов
for(h=0;h<4;h++){ // к-во строк
count++;
var mc=_root.createEmptyMovieClip("imya_"+count, getNextHighestDepth());
_root["imya_"+count].attachMovie("lon","lon",2);
mc._x=mc._width*w, mc._y=mc_height*h;// расставляем по ранжиру
}
}

сабака была зарыта в пропущенной чёрточке после imya. :rolleyes:

Nirth
23.11.2005, 18:06
Где приз Антареса?

CREDO
23.11.2005, 18:29
_root.createEmptyMovieClip("images_mc",1);
var count=0;
for(a=0;a<3;a++){// к-во столбцов
for(b=0;b<4;b++){ // к-во строк
count++;
var c=images_mc.createEmptyMovieClip("cell_"+count, getNextHighestDepth());
_root.images_mc["cell_"+count].attachMovie("square_mc","square_mc",1);
c._x=c._width*a, c._y=c._height*b;// расставляем по ранжиру
}
}

блин опять проблема.
Загружается только последний элемент.

CREDO
23.11.2005, 19:25
_root.createEmptyMovieClip("images_mc", 1);
var count = 0;
for (a=0; a<3; a++) {
// к-во столбцов
for (b=0; b<4; b++) {
// к-во строк
count++;
var c = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
_root.images_mc["cell_"+count].attachMovie("square_mc", "square_mc", 1);
c._x=c._width*a, c._y=c._height*b;
// расставляем по ранжиру
}
}



ОГРОМНОЕ СПАСИБО NEO ЗА ПОПРАВКУ.

MOHCTEP
24.11.2005, 02:31
Во разошлись!
А построкам и столбам кто ставить то будет? :)

KUZEN
24.11.2005, 02:47
Во разошлись!
А построкам и столбам кто ставить то будет? :)
А ты как думаешь )))

St. Father
24.11.2005, 15:03
Конкурс продолжается? :)
Делайте ваши ставки, господа!

createEmptyMovieClip("i",1);for(a=b=c=0;a<3;)for(;b<4;){m=i.createEmptyMovieClip("c"+c++,a*10+b);m.attachMovie("s","s"+a+b,a*10+b,{_x:_width*a++,_y:_height*b++});}

163

iNils
24.11.2005, 15:10
Конкурс продолжается? :)
Делайте ваши ставки, господа!

createEmptyMovieClip("i",1);for(a=b=c=0;a<3;)for(;b<4;){m=i.createEmptyMovieClip("c"+c++,a*10+b);m.attachMovie("s","s"+a+b,a*10+b,{_x:_width*a++,_y:_height*b++});}

163
А почему по диагонали получается?

MOHCTEP
24.11.2005, 15:16
А почему по диагонали получается?
Дак обе координаты ж в одном цикле приращиваются :) Надо, поди флагов в выражение напхать.
А вообще изящно получилось!

iNils
24.11.2005, 15:44
На краткость не претендую, но на функциональность вполне
// a - общие количество создаваемых объектов
// r - количество строк (рост в ширину)
// w - растояние между объектами по горизонтали
// h - растояние между объектами по вертикали
for (var i = 0, a = 20, r = 6, w = 50, h = 60; i < a; i++) {
var j = Math.floor (i / r);
var m = createEmptyMovieClip ("m" + i, i);
m._x = j * w;
m._y = (i - j * r) * h;
}
Для примера вставте в цикл последней строкой код m.attachMovie ("s", "s", 0); и в библиотке сделайте элемент с линкаджом "s". Меняте значения "a" и "r" и наслаждайтесь результатом :)