PDA

Просмотр полной версии : Срочно нужна помощь !!!


Sheeva
07.08.2003, 16:04
Кто-нибудь, подскажите пожалуйста, каким образом, плавно изменять характеристики Мувика, из Экшен скрипта, не вложенного в сам мувик...

derhab
07.08.2003, 16:15
например..размер...
Пишешь во фрейме:
мувик.onEnterFrame=function(){
this._xscale++
this._yscale++
}

И аналогично со всеми остальными свойствами мувиков

NeZnayKa
07.08.2003, 16:16
характеристики Мувика ??

Sheeva
07.08.2003, 16:20
Как можно задать АС, внутри мувика, просто создав его (мувик) с помощью createEmptyMovieClip;
Заранее всем благодарен, особенно, если ответ будет как можно скорей...

Sheeva
07.08.2003, 16:22
спасибо :)

Maksoff
07.08.2003, 16:24
твой_мувик.onLoad=function(){
твой АС
}
твой_мувик.onEnterFrame=function(){
твой АС
}

Sheeva
07.08.2003, 16:25
ещё раз огромное спасибо :)

Sheeva
07.08.2003, 17:14
Кто нибудь знает почему после loadMovie(...), не работает onEnterFrame(...) ?

Sheeva
07.08.2003, 17:23
работа горит, кто-нибудь ответьте, пожалуйста... :(

Nox Noctis
07.08.2003, 17:23
работает :)

и до и после...

Sheeva
07.08.2003, 17:32
но у меня не работает :(

_root.ims.loadMovie("catalog/img1.jpg", 0);
_root.ims.width = 100;
_root.ims.height = 100;
_root.ims._y = 20;
_root.ims._x = 10;
ims.onEnterFrame = function() {
if (i<3) {
if (this._y>0) {
this._y -= 10;
} else {
i++;
this._y = 50;
}
} else {
while (this._y>0) {
this._y -= 1;
}
}
};

flashpointer
07.08.2003, 17:40
Ты грузишь свой _root.ims.loadMovie("catalog/img1.jpg", 0) в основной клип и все скрипты дальше пропадают вместе с клипами

Sheeva
07.08.2003, 17:41
а что надо сделать ?

Nox Noctis
07.08.2003, 17:42
все просто - надо сначала дождаться пока джпг загрузится в клип, а потом уже с этим клипом что-то делать...

можно так:
_root.ims.loadMovie("catalog/img1.jpg");
_root.onEnterFrame = function() {
var l = ims.getBytesLoaded();
var t = ims.getBytesTotal();
if (l>=t && l && t) {
ims.width = 100;
ims.height = 100;
ims._y = 20;
ims._x = 10;
ims.onEnterFrame = function() {
if (i<3) {
if (this._y>0) {
this._y -= 10;
} else {
i++;
this._y = 50;
}
} else {
if (this._y>0) {
this._y--;
}
}
};
delete this.onEnterFrame;
}
};


2flashpointer
тссс... там же не лоадМувиНУМ а просто лоадМуви... :))

Sheeva
07.08.2003, 17:49
теперь картинка не загружается...

Sheeva
07.08.2003, 17:52
а если всё же загрузить картинку, то теряется onEnterFrame(..)
:(

Nox Noctis
07.08.2003, 17:57
аааа... блин, лажанулся на ровном месте :))

_root.ims.loadMovie("catalog/img1.jpg");
dt = _root.ims.getBytesTotal();
_root.onEnterFrame = function() {
var l = ims.getBytesLoaded()-dt;
var t = ims.getBytesTotal()-dt;
if (l>=t && l && t) {
ims.width = 100;
ims.height = 100;
ims._y = 20;
ims._x = 10;
ims.onEnterFrame = function() {
if (i<3) {
if (this._y>0) {
this._y -= 10;
} else {
i++;
this._y = 50;
}
} else {
if (this._y>0) {
this._y--;
}
}
};
delete _root.onEnterFrame;
}
};

Sheeva
07.08.2003, 18:01
да, это слот машина, там картинки меняются постоянно...

бальшое спасибо :)

Nox Noctis
07.08.2003, 18:04
алилуйа :)

Sheeva
07.08.2003, 21:02
а вот ещё вопрос, каким образом подобную функцию, можно применить сразу к трём объектам ?

Nox Noctis
07.08.2003, 21:19
в смысле грузить в несколько клипов несколько картинок ?..

ссылки на клипы - в массив и проверять загрузку в цикле...
типа так:
heap = [];
load = function (img, target) {
heap.push({dt:target.getBytesTotal(), lnk:target});
target.loadMovie(img);
if (!_root.onEnterFrame) _root.onEnterFrame = loader;
};
loader = function () {
for (var i in heap) {
var l = heap[i].lnk.getBytesLoaded()-heap[i].dt;
var t = heap[i].lnk.getBytesTotal()-heap[i].dt;
if (l>=t && l && t) {
var targ = heap[i].lnk;
heap.splice(i, 1);
targ._width = 100;
targ._height = 100;
targ._y = 20+random(200);
targ._x = 10+random(200);
targ.onEnterFrame = function() {
if (this.i<3) {
if (this._y>0) {
this._y -= 10;
} else {
this.i++;
this._y = 50;
}
} else {
if (this._y>0) {
this._y--;
}
}
};
}
}
if (!heap.length) {
delete _root.onEnterFrame;
}
};
//
load("catalog/img1.jpg", clip1);
load("catalog/img2.jpg", clip2);
load("catalog/img3.jpg", clip3);
load("catalog/img4.jpg", clip4); просто вызываешь load(путь_к_картинке, клип_куда_грузить);

Sheeva
07.08.2003, 21:51
спасибо, выручаешь, а я долго ломал, голову :)

Sheeva
08.08.2003, 00:45
ОООй, немогу больше, я не понимаю почему этот скрипт не работает... помогите !!! :(

Nox Noctis
08.08.2003, 01:14
все работает :) чес слово...

derhab
08.08.2003, 01:23
как часы....токо картинки противные

Nox Noctis
08.08.2003, 01:42
Оригинал написал(а) derhab
как часы....токо картинки противные не, не картинки кавайные :) это рёока ^)

реальный размер не квадратный, поэтому так плющится все...

Sheeva
08.08.2003, 01:53
я в растерянности, прям не знаю, какие бы я конструкции не выстраивал, работать мувик не хочет.
смысл в том что бы по достижении определённых _х и _у, картинка автоматически загружалась новая на первоначальную позицию...
я перепробовал массу вариантов, но так и не добился нужного...
мож чего посоветуете ? :(

Nox Noctis
08.08.2003, 02:01
Оригинал написал(а) Sheeva
смысл в том что бы по достижении определённых _х и _у, картинка автоматически загружалась новая на первоначальную позициюсемеееен семееееныч... а сразу сказать ? :)

я вот только сейчас понял что тебе нужно именно это...

Sheeva
08.08.2003, 02:08
суть проги в том, что я беру XML, счмтываю оттуда необходимые параметры, а потом используя их генерю ролики из подгружаемых картинок, который должен останавливаться на определённой картинке, прокрутившись н-цать раз :)
в Принципе это моя первая серьёзная скриптовая работа на флэше, но мои знания как программиста тут не всегда применимы, либо я чего то не понимаю (что скорее всего), если подашь мне несколько "вредных" :) советов, я буду очень признателен =)

ps(так сказать)
2 Nox Noctis ты аниме увлекаешься ? :)

Sheeva
08.08.2003, 02:10
Самое западло, что мне работу завтра сутра сдавать :(
при моих скромных познаниях, я вот сижу и ночами парюсь :)
очень буду благодарен если поможешь...

Nox Noctis
08.08.2003, 02:33
значт так, у тебя есть функция, которая грузит картинку.... правильно ее грузит и запускает твой эффект с движением... (дерганное там какое-то движение по-моему, ну да ладно)

все что нужно изменить - это поставить вызов загрузки ДРУГОЙ картинки в ТОТ ЖЕ клип когда она доедет докуда нужно...
targ.onEnterFrame = function() {
if (this.i<3) {
if (this._y>0) {
this._y -= 10;
} else {
this.i++;
this._y = 50;
}
} else {
if (this._y>0) {
this._y--;
} else { /* надо полагать это здесь */ }
}
};

Sheeva
08.08.2003, 02:37
угу, спасибо :)
сейчас попробую ...

Sheeva
08.08.2003, 02:45
да вот такой ещё вопрос, что во флэше надо ещё написать в функции, кроме return, чтобы переменная всё таки была передана всем остальным, а то на данный момент я не нашёл, ничего лучшего, чтобы включать в одну функцию, ещё и другие, для использование переменных функции более старшего порядка. А это делает код очень громозким.
Заранее спасибо :)

Nox Noctis
08.08.2003, 02:50
вот я понимаю слова по отдельности, но что ты из них составил... нихрена не понял :))

у тебя получилось запустить следующую картинку ?

Sheeva
08.08.2003, 02:50
вставка загрузки, не помогла...
не помогло... :(
после load'a он теряет действие функции...
то есть все картинки останавливаются, а первая вообще мсчезает :(

Sheeva
08.08.2003, 02:52
короче что нужно прописать в функции помимо return'а, чтобы переменные можно было использовать повторно...

Sheeva
08.08.2003, 03:11
а о... получилось :)
Бальшое спасибо :)
так всё таки ты увлекаешься Аниме ?

Nox Noctis
08.08.2003, 03:12
Оригинал написал(а) Sheeva
чтобы переменные можно было использовать повторно... ...а одноразоыве переменные - это гораздо гигиеничнее, знаешь ли :)
что за бред ? :)


анимэ... ну да... :)

Sheeva
08.08.2003, 03:22
ну с переменными такая история, значит я считываю XML, но даже при написании returna, он мне ничего не оставляет, по этому приходится впихивать считывание XML в каждую функцию... :(
извини, я иногда очень плохо формулирую мысли, особенно на третью бодрствующую ночь %)

А ты территориально где живёшь ?
Может я тебя видел ?

Sheeva
08.08.2003, 03:24
блин, как то коряво скрипт работает :(
дерганья, это ещё пол беды, он к тому же из всего массива, где около 6 картинок, прокручивает только четыре :(

Sheeva
08.08.2003, 10:59
проблема возникла...

--- BEGIN
function slotsScroll() {
heap = [];
loading = function (img, target) {
heap.push({dt:target.getBytesTotal(), lnk:target});
target.loadMovie(img);
if (!_root.onEnterFrame) {
_root.onEnterFrame = loader;
}
};
loader = function () {
for (var i in heap) {
var l = heap[i].lnk.getBytesLoaded()-heap[i].dt;
var t = heap[i].lnk.getBytesTotal()-heap[i].dt;
if (l>=t && l && t) {
var targ = heap[i].lnk;
heap.splice(i, 1);
targ._width = 195;
targ._height = 100;
targ._y = 420;
if (targ == ss1) {
targ._x = 298.9;
} else if (targ == ss2) {
targ._x = 535.9;
} else if (targ == ss3) {
targ._x = 774.3;
}
targ.onEnterFrame = function() {
if(k<6) {
trace(k);
if (this._y<700) {
this._y += 20;
} else {
k++;
loading("catalog/img"+k+".jpg", ss1);
loading("catalog/img"+k+".jpg", ss2);
loading("catalog/img"+k+".jpg", ss3);
}
}
if (this._y<505) {
this._y += 5;
}
};
}
}
if (!heap.length) {
delete _root.onEnterFrame;
}
};
loading("catalog/img1.jpg", ss1);
loading("catalog/img1.jpg", ss2);
loading("catalog/img1.jpg", ss3);
}
--- END;
когда я пытаюсь вызвать массив, картинок, получается рекурсия... и картинки пролетают мимо...
что делать ?