Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Объясните принцип (http://www.flasher.ru/forum/showthread.php?t=70478)

Зеленая Белка 15.10.2005 16:14

Объясните принцип
 
Сабж этой флэшки плз: http://betmaster.ru/phone.html. Как она работает?

Event 15.10.2005 17:08

В общих чертах.
Есть мувик - этакий дёргающийся ромб. Вначале он дублируется с необходимыми шириной и высотой (чтобы было на рыбу похоже). Примечание: координата 0;0 находится в мувике в центре ромба.
Второе - на руте каждый кадр проверяются координаты курсора и по какой-нибудь математической формуле (ускорение и т.п.) к координатам каждого ромба прибавляется число (или только к координатам первого ромба, а остальные высчитывают свои из его координат). И фигня плавно передвигается по экрану.
Если разобраться, то ничего сложного. Даже для новичка. ;)

Зеленая Белка 15.10.2005 17:10

Спасибо. Попробую повторить. :)

FreeLander 15.10.2005 17:59

Цитата:

Сообщение от Зеленая Белка
Как она работает?

вот так:
Код:

// Action script...

// [onClipEvent of sprite 3 in frame 1]
onClipEvent (enterFrame)
{
        if (num > 0)
        {
                anim.gotoAndStop(_root.obj[num - 1].anim._currentframe);
                _x = _root.obj[num - 1]._x;
                _y = _root.obj[num - 1]._y;
        }
        else
        {
                _x = _x + (_root._xmouse - _x) / 30;
                _y = _y + (_root._ymouse - _y) / 30;
                if (Math.random() > 0.950000)
                {
                        for (i = 0; _root.b[i]._visible; i++)
                        {
                        } // end of for
                        _root.b[i]._visible = true;
                        _root.b[i]._x = _x;
                        _root.b[i]._y = _y;
                        _root.b[i].weight = Math.random() * 5 + 5;
                        _root.b[i]._xscale = _root.b[i].weight * 10;
                        _root.b[i]._yscale = _root.b[i].weight * 10;
                } // end if
        } // end if
}

// [onClipEvent of sprite 4 in frame 1]
onClipEvent (enterFrame)
{
        if (_visible)
        {
                _y = _y - weight;
                _x = _x + (Math.random() - 0.500000) * 2;
        } // end if
        if (_y < -20)
        {
                _visible = false;
        } // end if
}

// [Action in Frame 1]
maxobj = 20;
maxbubble = 5;
obj = new Array(obj0);
obj[0].gotoAndStop(1);
obj[0].num = 0;
for (i = 1; i < maxobj; i++)
{
        obj[0].duplicateMovieClip("obj" + String(i), i);
        obj[i] = eval("obj" + String(i));
        obj[i].gotoAndStop(i + 1);
        obj[i].num = i;
} // end of for
for (i = 0; i < maxobj / 2; i++)
{
        obj[i].swapDepths(obj[maxobj - i - 1]);
} // end of for
b = new Array(bubble0);
b[0]._visible = false;
for (i = 1; i < maxbubble; i++)
{
        b[0].duplicateMovieClip("bubble" + String(i), i + 100);
        b[i] = eval("bubble" + String(i));
        b[i]._visible = false;
} // end of for



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

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