Вход

Просмотр полной версии : Блин торможу конкретно...


Endryk
01.05.2002, 15:35
Есть мувик, его дублируем, размещаем их в ряд.
Теперь нужно сделать, чтобы при приближении мышки каждый мувик увеличивался пропорционально СВОЕМУ расстоянию до мышки.
При удалении наоборот.
Заранее спасибо всем ответившим.
Смотри файл

Endryk
01.05.2002, 17:10
Эй мастера где вы??? :confused:

Nox Noctis
01.05.2002, 18:31
мастера на демонстрации... :) :D :p
так что придется без них обходиться...

// --------- parameters
//
// > number of items
items = 7;
// > scale power radius
radius = 70;
// > scale minimum (inf) & scale maximum (sup)
scale = {inf:50, sup:200};
//
// --------- resize function
resize = function () {
if (this.distance != undefined) {
var sc = (scale.sup-scale.inf)/(this.distance/radius);
this._xscale = (sc>scale.sup)*scale.sup || (sc<scale.inf)*scale.inf || sc;
this._yscale = this._xscale;
}
};
// --------- get distance
getDistance = function () {
var xx = this._x-_root._xmouse;
var yy = this._y-_root._ymouse;
this.distance = Math.sqrt(xx*xx+yy*yy);
};
// --------- create protoClip -- just for example
this.createEmptyMovieClip("protos", 1);
protos.lineStyle(1, 0), protos.beginFill(0xFF6600);
protos.moveTo(0, -12.5), protos.lineTo(12.5, 12.5);
protos.lineTo(-12.5, 12.5), protos.lineTo(0, -12.5), protos.endFill();
// --------- create chain
for (var i = 0; i<items; i++) {
var nnm = "item"+i;
protos.duplicateMovieClip(nnm, 2+i);
nnm = this[nnm];
nnm._x = 500/(items+1)*(i+1);
nnm._y = 200;
nnm.onMouseMove = getDistance;
nnm.onEnterFrame = resize;
}
protos.removeMovieClip();
// --------- enjoy ! :)))
копипаст в первый и единственный кадр нового мувика размером 500x400 :)

Endryk
01.05.2002, 22:07
Спасибо. Ща будем разбираться. ;)

Endryk
01.05.2002, 22:28
2Nox Noctis
Слушай чёй-то не пашет. Исходничек не можешь кинуть.

Nox Noctis
01.05.2002, 23:01
эээ.... какой-тут исходничек... это весь исходничек и есть собственно... кроме кода ничего нет...

если нужно, то то же самое легко переделать под пятерку...

Endryk
02.05.2002, 01:45
Так мне и нужно под 5-ку

Endryk
02.05.2002, 10:38
Ну что неужели демонстрация еще не кончилась? :confused:

Nox Noctis
02.05.2002, 11:28
ну вот под пятерку :)

Endryk
02.05.2002, 12:19
Огромное спасибо! Ты настоящий флэшер и друг! :)

Endryk
02.05.2002, 14:03
2Nox Noctis
Все понятно. Только скажи пожалуйста - что означает такая запись scale = {inf:40, sup:200};
Спасибо.

Papa Karlo
02.05.2002, 20:34
this._xscale = (sc>scale.sup)*scale.sup || (sc<scale.inf)*scale.inf || sc;
красиво :)

Nox Noctis
02.05.2002, 20:37
2Endryk
ничего особенного :)
это я просто максимум и минимум записал как свойства одного объекта (чисто для удобства)... там кстати в комментариях вроде написано...

scale = {inf:40, sup:200};

это то же самое что

scale = new Object();
scale.inf = 40;
scale.sup = 200;

Nox Noctis
02.05.2002, 20:50
2Papa Karlo
очень не люблю ифы :)