Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Перемещение (http://www.flasher.ru/forum/showthread.php?t=100492)

aciton 28.08.2007 22:28

)) ну про физику, бог с ней ))) если ваш случай расширить и добавить второй мувик к нему, только с другим параметром "dl", то получится так как я написал выше

udaaff 28.08.2007 22:45

Все двигаются в разные стороны, все живы и счастливы
Код:

my_mc1.onRelease = function() {
        //
        moving(this,Stage.width/2-this._xmouse, Stage.height/2-this._ymouse,.3);
};
my_mc2.onRelease = function() {
        //
        moving(this,100, 100,.1);
};
//
function moving(mc:MovieClip, x:Number, y:Number,dl:Number) {
        mc.onEnterFrame = function() {
                if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
                        trace("deleted");
                        this._x = x;
                        this._y = y;
                        delete this.onEnterFrame;
                }
                this._x += (x-this._x)*dl;
                this._y += (y-this._y)*dl;
        };
}


aciton 28.08.2007 23:00

)) ну здесь окончательая точка маршрута второго мувика будет 100 100, дальше увы не пойдет ))
условия применить пока не получается (

udaaff 28.08.2007 23:16

Конечно он дальше не пойдет, пока вы ему не скажете.
aciton, изложите свой вопрос четко и ясно, в понятной для человека форме.

aciton 28.08.2007 23:37

имеется мувик 1 и мувик 2,
у первого мувика(тот который по идее в перспективе находиться дальше второго) смещение при клике будет меньше, чем у второго. посмотрите внимательно на сайт, там одни объекты смещаются относительно друг друга одинаково, а у других расстояние перемещения меньше этих. так и создается впечатление, что одни дальше, другие ближе.
в вашем случае при изменении параметра dl изменяется лишь время "приезда" мувика до конечной точки.
грубо говоря, чем, для нашей иллюзии перспективы, дальше должен находиться объект, тем меньше область его смещения должна быть

aciton 29.08.2007 00:16

в общем криво но работает
Код:

        xx = Stage.width/2-mc2._xmouse;
        yy = Stage.height/2-mc2._ymouse;
mc.onRelease = function() {
       
        if (xx<Stage.width/2-mc2._xmouse && yy<Stage.height/2-mc2._ymouse {
                moving2(Stage.width/2-mc2._xmouse-20,Stage.height/2-mc2._ymouse-20);
        }
        if (xx>Stage.width/2-mc2._xmouse && yy<Stage.height/2-mc2._ymouse) {
                moving2(Stage.width/2-mc2._xmouse+20,Stage.height/2-mc2._ymouse-20);
        }
        if (xx<Stage.width/2-mc2._xmouse && yy>Stage.height/2-mc2._ymouse) {
                moving2(Stage.width/2-mc2._xmouse-20,Stage.height/2-mc2._ymouse+20);
        }
        if (xx>Stage.width/2-mc2._xmouse && yy>Stage.height/2-mc2._ymouse) {
                moving2(Stage.width/2-mc2._xmouse+20,Stage.height/2-mc2._ymouse+20);
        }
        moving(Stage.width/2-mc._xmouse,Stage.height/2-mc._ymouse;
        xx = Stage.width/2-mc2._xmouse;
        yy = Stage.height/2-mc._ymouse;
};


udaaff 29.08.2007 00:41

коэффициэнт .9 в данном случае будет отвечать за небольшой недоход до центра сцены
То, что тебе нужно, по всей видимости.
Код:

my_mc1.onRelease = function() {
        //
        moving(this, (Stage.width/2-_xmouse)*.9+this._x, (Stage.height/2-_ymouse)*.9+this._y, .3);
};
//
function moving(mc:MovieClip, x:Number, y:Number, dl:Number) {
        mc.onEnterFrame = function() {
                if (Math.abs(this._x-x)<1 && Math.abs(this._y-y)<1) {
                        trace("deleted");
                        this._x = x;
                        this._y = y;
                        delete this.onEnterFrame;
                }
                this._x += (x-this._x)*dl;
                this._y += (y-this._y)*dl;
        };
}

:victory:

aciton 29.08.2007 00:59

эффект такой же ))) но у вас красиво )) спасибо


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

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