Просмотр полной версии : короткий скрипт
какой самый короткий скрипт создаст сразу несколько пустых клипов, отличающихся только частью имени.
Как бы их ещё и выставить в таблицу 3 столбца и 4 строки.
mixey_lv
23.11.2005, 02:44
for(i=0,i<5,i++){
_root.createEmptyMovieClip("imya_"+i, getNextHighestDepth());
}
за синтаксис не отвечу, писал из головы...
про столбцы...просто сделай цикл в цикле, один отвечает за строку, второй за столбец
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;// расставляем по ранжиру
}
}
Правда пока клипы пустые они встанут непредсказуемо, поелику у них ни длины, ни ширины нет.
какой самый короткий скрипт создаст сразу несколько пустых клипов, отличающихся только частью имени.
Самый короткий? это конкурс?
for(var key in this) this.createEmptyMovieClip("a" + key, this.getNextHighestDepth());
86 символов.
Самый короткий? это конкурс?
for(var key in this) this.createEmptyMovieClip("a" + key, this.getNextHighestDepth());
86 символов.
Ещё короче )))
for(var key in this) this.createEmptyMovieClip("a" + key, key);
Ещё короче )))
for(var key in this) this.createEmptyMovieClip("a" + key, key);
Неа... не создастся. Угадай почему ;)
Да что так что так всё равно один мувик лепится ))) ... я это так ради развлекухи .. а теперь обьясни каким образом мувов должно налепиться много ?
В моем случае? все очевидно. Разные имена, разные глубины. В твоем глубины в большинстве случаев будут иметь значение NaN, т.к. ключи-числа у мувиклипов не так часто встретишь -- только переменные типа Number
for(key in this)createEmptyMovieClip("a"+key,getNextHighestDepth());
На 17 символов меньше чем у Антареса
for(var i=0;i<5;i++){createEmptyMovieClip(i,i);}
Бугагагага!
for(i=0;i<5;i++)createEmptyMovieClip(i,i);
гагагагага
Ну ок. В условии не было "не подвесить при этом машину на 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
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;// расставляем по ранжиру
}
}
не получается аттачить в клипы, что не так?
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:
_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;// расставляем по ранжиру
}
}
блин опять проблема.
Загружается только последний элемент.
_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 ЗА ПОПРАВКУ.
Во разошлись!
А построкам и столбам кто ставить то будет? :)
Во разошлись!
А построкам и столбам кто ставить то будет? :)
А ты как думаешь )))
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
Конкурс продолжается? :)
Делайте ваши ставки, господа!
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
А почему по диагонали получается?
А почему по диагонали получается?
Дак обе координаты ж в одном цикле приращиваются :) Надо, поди флагов в выражение напхать.
А вообще изящно получилось!
На краткость не претендую, но на функциональность вполне
// 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" и наслаждайтесь результатом :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.