Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Блин торможу конкретно... (http://www.flasher.ru/forum/showthread.php?t=31021)

Endryk 01.05.2002 15:35

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

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

Вложений: 1
эээ.... какой-тут исходничек... это весь исходничек и есть собственно... кроме кода ничего нет...

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

Endryk 02.05.2002 01:45

Так мне и нужно под 5-ку

Endryk 02.05.2002 10:38

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

Nox Noctis 02.05.2002 11:28

Вложений: 1
ну вот под пятерку :)

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
очень не люблю ифы :)


Часовой пояс GMT +4, время: 07:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.