Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Теория, функции. (http://www.flasher.ru/forum/showthread.php?t=158534)

kackbip 21.06.2011 11:33

Цитата:

Сообщение от i.o. (Сообщение 1005309)
Код AS3:

        arg[0].x += (arg[1] - arg[0].x) * .2;
        arg[0].y += (arg[2] - arg[0].y) * .2;

В строке и 1 и 2 происходит одно и то же действие (Y/N) ?

Ессно, нет. Это типа в этом вопрос заключался?

stweet 22.06.2011 16:11

Цитата:

Сообщение от wvxvw (Сообщение 1005254)
Я просто ни в том ни в другом случае не вижу смысла создавать массив...

там система чутка сложнее, нужно просчитать путь от одной точки к другой. В массив может попасть не одна а несколько объектов. Я привёл пример на кусочке кода, что то типа этого:
Код AS3:

                private function tween(arg:Array):void 
                {
                        var timer:Timer = new Timer(10);
                                timer.addEventListener(TimerEvent.TIMER, ON_TIMER);
                                timer.start();
 
                        function ON_TIMER(e:TimerEvent):void
                        {
                                if (arg[0].x != arg[1] || arg[0].y != arg[2])
                                {
                                        arg[0].x += (arg[1] - arg[0].x) * .2;
                                        arg[0].y += (arg[2] - arg[0].y) * .2;
 
                                        if (arg[1] - arg[0].x < 1 && arg[1] - arg[0].x > -1) arg[0].x = arg[1];
                                        if (arg[2] - arg[0].y < 1 && arg[2] - arg[0].y > -1) arg[0].y = arg[2];
                                }
 
                                if (arg[0].x == arg[1] && arg[0].y == arg[2]) {
 
                                        timer.stop();
                                        timer.removeEventListener(TimerEvent.TIMER, ON_TIMER);
                                        timer = null;
 
                                        arg[0].mouseEnabled = true;
                                }
 
                                e.updateAfterEvent();
                        }
                }

и меня интересовало, если такую фукцию вызвать дважды, второй вызов может припятствовать первому или первый второму?

Цитата:

Сообщение от i.o. (Сообщение 1005309)
Код AS3:

        arg[0].x += (arg[1] - arg[0].x) * .2;
        arg[0].y += (arg[2] - arg[0].y) * .2;

В строке и 1 и 2 происходит одно и то же действие (Y/N) ?

нет, в место ".2" могут быть разные параметры. Цифры выставленны временно и так совпало что одинаковые)


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

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