Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы (http://www.flasher.ru/forum/forumdisplay.php?f=10)
-   -   Резиновый flash!! Как это делается!!!! (http://www.flasher.ru/forum/showthread.php?t=49488)

vitvor 24.09.2003 15:25

Резиновый flash!! Как это делается!!!!
 
Кто-нибудь знает как это делается http://www.nevcos.ru ? То есть, размер окна меняется, а объекты остаются фиксированного размера и двигаются в зависимости от размера экрана (резиновый флеш)?

Dimonius 24.09.2003 15:32

Ничего сложного, чистая математика. Вычисляется stage и на каждом объекте есть скрипт вычисляющий его расположения в зависимости от размера stage.

vitvor 24.09.2003 15:43

Спасибо! Но я не особо понял (я не математик :)) Хотя бы примерно как должен выглядеть этот скрипт сказать можешь? (как нематематику :))

Dimonius 24.09.2003 15:50

Гы, я тоже не математик.

Код:


Stage.align = "TL";
Stage.scaleMode = "noscale";
Stage.addListener(Stage);
Stage.onResize = function ()
{
    if (Stage.width < 740)
    {
        return("");
    } // end if
    this.broadcastMessage("onMyResize", Stage.width);
} // End of the function
function (x, s)
{
    this.x = x;
    this.s = s;
    function ()
    {
        this._x = this._x + (this.x - this._x) / this.s;
        if (Math.round(this.x) == Math.round(this._x))
        {
            delete("onEnterFrame");
        } // End of the function
    } // end if
    onEnterFrame[function ()] = this;
} // End of the function
goToX[function (x, s)] = this;
function ()
{
    this.xx = this.xx++;
    if (this.xx < 5)
    {
        delete("onEnterFrame");
        delete("xx");
        return("");
    } // end if
    Stage.broadcastMessage("onMyResize", Stage.width);
} // End of the function
function ()[_root] = this;

Вот типа код.

А вот что-то типа этого в объектах, координаты исходные есно у каждого разные.

Код:


Stage.addListener(this);
this.onMyResize = function (w)
{
    this.goToX(w * 105 / 740, 3);
} // End of the function

Совет, не математик - не ломай голову без надобности. ;)

vitvor 24.09.2003 16:15

Спасибо большое!!!! Sorry за навязчивость, а *.fla у тебя с этим скриптом нет?

Dimonius 24.09.2003 16:23

Нет, это декомпилированный скривт из их свф-ки. В нем в принципе могут попадаться ошибки типа знак не тот и т д, но в основном код обычно верный.

Нет исходника на эту тему, даже в моей коллекции. Просто ка-то на флеше не надо было. Но принцип мне известен. Я так динамически точки расставлял в трехмерных моделях в зависимости от нужных параметров.

vitvor 24.09.2003 17:02

А первый код где помещаться должен?

Dimonius 24.09.2003 17:24

В первом кадре на основном таймлайне.

vitvor 24.09.2003 17:45

Спасибо большое, но что-то у меня все-равно ничего не получается :( Слабоват я в ActionScript :( Надо учить

Пушистик 24.09.2003 18:16

:)
 
угу....чё та флэш ругается....

Цитата:

Clipboard Actions: Line 24: '{' expected
onEnterFrame[function ()] = this;

Clipboard Actions: Line 25: ']' expected
} // End of the function

Clipboard Actions: Line 26: '{' expected
goToX[function (x, s)] = this;

Clipboard Actions: Line 27: ']' expected
function ()

Clipboard Actions: Line 38: '{' expected
function ()[_root] = this;

Clipboard Actions: Line 39: Syntax error.
в натуре не похоже на As...

Dimonius 24.09.2003 18:26

Мне его разгребать влом. Проверте, кому интересно, скобы и прочие знаки препинания.


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

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