PDA

Просмотр полной версии : 2 в одном...


rojok-online
31.05.2004, 20:13
1.Есть массив...
y = [0, 80, 160, 240, 320, 400, 480, 560, 640, 720, 800, 880, 960, 1040, 1120, 1200, 1280, 1360];
Как сделать так чтобы геометрическая прогрессияросла шла в такой последовательности?!?! И как сделать так чтоб при добавлении обьекта в массив добавлялась ячейка...
например: есть 5 обектов (jpg), они выстраиваются по оси у 0, 80, 160, 240, 320... Я добовляю еще 1 (jpg) и добовляется еще одна позиция на оси у 400

2.почему мув не встает на свои места(_х и _у) ?!
this["photo"+i].onRelease = function() {
_root.createEmptyMovieClip("foto", 0).attachMovie("big", "big", 1);
_root.foto.big._x = 105;
_root.foto.big._y = 54;
};

rojok-online
31.05.2004, 20:40
с прибавлением разобрался... но как сделать гем. прогрессию ?! и 2 вопрос тож (((

Igor_MONSTR
31.05.2004, 21:30
Попробуй аттачить так ...attachMovie("big", "big"+i, i);

rojok-online
31.05.2004, 21:34
если я буду так аттачить то мув на мув ложеться и флеха начнет тормозить... помойму...

opex
31.05.2004, 21:40
Это то что тебе нужно если я тебя правлено понял, но это не геометрическая прогресси.

y = [0, 80, 160];
function step(step) {
y.push(y[y.length-1]+step);
}
for (i=0; i<20; i++) {
step(80);
}
trace(y);

ГЕОМЕТРИЧЕСКАЯ ПРОГРЕССИЯ , последовательность чисел, из которых каждое следующее получается из предыдущего умножением на постоянное число q, называемого знаменателем геометрической прогрессии, напр., 2, 8, 32, 128,..., q = 4.
Если тебе всетаки нужна ГЕОМЕТРИЧЕСКАЯ ПРОГРЕССИЯ то вот

y = [1];
function step(q) {
y.push(y[y.length-1]*q);
}
for (i=0; i<20; i++) {
step(80);
}
trace(y);

rojok-online
31.05.2004, 21:46
opex
Привет!
Че в аське то не появляешься?
хм... чет не рабтает.. ((

мож я че туплю ?!
вот полный скрип...
y = [0, 80, 160, 240, 320, 400, 480, 560, 640, 720, 800, 880, 960, 1040, 1120, 1200, 1280, 1360];
for (i=0; i<18; i++) {
this.attachMovie("photo", "photo"+i, i);
this["photo"+i]._xscale = this["photo"+i]._yscale=70;
this["photo"+i]._x = 70;
this["photo"+i]._y = y[i];
this["photo"+i].LD.loadMovie("photo/mini/image_0"+i+".jpg");
this["photo"+i].onRelease = function() {
_root.createEmptyMovieClip("foto", 0).attachMovie("big", "big", 0);
_root.foto.big._x = 105;
_root.foto.big._y = 54;
};
}

opex
31.05.2004, 21:51
что то я тебя не очень догоняю ты сначало атачи фото из библиотеки а потом грузиш из вне

rojok-online
31.05.2004, 21:57
нет )
this.attachMovie("photo", "photo"+i, i);
это я оттачу мувик из библиотеки пустой

this["photo"+i].LD.loadMovie("photo/mini/image_0"+i+".jpg");
а это я гружу саму картинку внутрь мува

rojok-online
01.06.2004, 21:27
с прогрессией разобрался...
(80)*(y.length-i-1)
а вот со 2 вопросом подскажете в чем дело ?!? :)

Dindin
01.06.2004, 23:29
this["photo"+i].onRelease = function() {
_root.createEmptyMovieClip("foto", 0);
_root.foto.attachMovie("big", "big", 1,{_x:105,_y:54});
};

silin
01.06.2004, 23:58
конструкция
_root.createEmptyMovieClip("foto", 0).attachMovie("big", "big", 1,{_x:105,_y:54});
тоже работает (createEmptyMovieClip возвращает ссылку): тут нет ошибки

Dindin
02.06.2004, 00:29
А я и не утверждаю, что это не работает, просто конструкция типа _root.createEmptyMovieClip("foto", 0).attachMovie("big", "big", 1,{_x:105,_y:54}); показалась мне слишком громоздкой и я для простоты восприятия разбил её на две части. Явовская привычка. Сорри, если ввёл кого-то в заблуждение

rojok-online
03.06.2004, 00:29
я разобрался и с этим... и у меня возникли другие проблемы...
1. При нажатии на кнопку постоянно выдает число 18? Как с этим бороться...?!?!
2. Пытался сделать загрущик картинок, но почему-то динамично не отображает загрузку... :( Хотя в trace он пишет что загрузил 100% и еще остатся bar загрузки.... :( Это последний вариант моего скрипта....
for (i=0; i<18; i++) {
this.attachMovie("photo", "photo"+i, i);
this["photo"+i]._xscale = this["photo"+i]._yscale=70;
this["photo"+i]._x = 70;
this["photo"+i]._y = (90)*(y.length-i-1);
this["photo"+i].LD.loadMovie("photo/mini/image_0"+i+".jpg");
this["photo"+i].LD.tBytes = this.getBytesTotal();
this["photo"+i].LD.lBytes = this.getBytesLoaded();
this["photo"+i].LD.percloaded = Math.floor((this["photo"+i].LD.lBytes/this["photo"+i].LD.tBytes)*100);
this["photo"+i].bar._xscale = this["photo"+i].LD.percloaded;
trace(i+"="+this["photo"+i].LD.percloaded);
this["photo"+i].onRelease = function() {
_root.attachMovie("big", "big", 0);
_root.big._x = 105;
_root.big._y = 54;
_root.big.big_LD.loadMovie("photo/big/image_0"+i+".jpg");
};
}
PS: Знаю что скрипт плохой, но я тока учусь :)

Techmaker
03.06.2004, 13:01
for (i=0; i<18; i++) {
mc=attachMovie("photo","photo"+i,i);
mc._xscale=mc._yscale=70;
mc._x=70;
mc._y=90*(y.length-i-1);
mc.n=i;
mc.LD.loadMovie("photo/mini/image_0"+i+".jpg");
mc.onEnterFrame=function(){
if(this.LD.getBytesTotal()>0){
this.percents=this.LD.getBytesLoaded()/this.LD.getBytesTotal()*100;
this.bar._xscale=this.percents;
trace(this.n+" = "+Math.floor(this.percents));
if(this.LD.getBytesLoaded()==this.LD.getBytesTotal()){delete(this.onEnterFrame);};
};
};
mc.onRelease = function() {
_root.attachMovie("big", "big", 0);
_root.big._x=105;
_root.big._y=54;
_root.big.big_LD.loadMovie("photo/big/image_0"+i+".jpg");
};
};
не проверял, но вроде должно работать :)

rojok-online
03.06.2004, 13:08
Techmaker
ШПАСИБО!