Форум 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)

stweet 20.06.2011 20:24

Теория, функции.
 
Код AS3:

// вопрос:
// В данном случае происходит дублирование функции?
 
tween([sprite1, x, y]);
tween([sprite2, x, y]);
 
private function tween(arg:Array):void
{
        arg[0].x += (arg[1] - arg[0].x) * .2;
        arg[0].y += (arg[2] - arg[0].y) * .2;
}
 
// или всё же правильнее будет:
 
arr:Array = [];
 
tween(sprite1, x, y);
tween(sprite2, x, y);
 
private function tween(... ar):void
{
        arr.unshift(ar);
 
        for (var i:int = arr.length; i-- > 0;)
        {
                arg[i][0].x += (arg[i][1] - arg[i][0].x) * .2;
                arg[i][0].y += (arg[i][2] - arg[i][0].y) * .2;
        }
}


wvxvw 20.06.2011 20:59

А почему не так?
Код AS3:

private function tween(sprite:DisplayObject, xPos:Number, yPos:Number):void
{
    sprite.x += transform(xPos, sprite.x);
    sprite.y += transform(yPos, sprite.y);
}
 
private function transform(position:Number, property:Number):Number
{
    return (position - property) * 0.2;
}


dimarik 20.06.2011 21:39

будит. оно меня все время будит. а так хочется поспать!

stweet 21.06.2011 00:51

Цитата:

Сообщение от wvxvw (Сообщение 1005179)
А почему не так?

суть вопроса в другом.
Цитата:

В данном случае происходит дублирование функции?

wvxvw 21.06.2011 01:13

Я просто ни в том ни в другом случае не вижу смысла создавать массив... А можно как-то словами объяснить в чем именно проблема? А то мне без этого не совсем понятно... Вот если бы ссылки на геттеры и сеттеры можно было передавать, тогда можно было бы более короткую / универсальную запись сделать, а без этого я не вижу лучших вариантов.

i.o. 21.06.2011 01:13

Цитата:

В данном случае происходит дублирование функции?
угу...

kackbip 21.06.2011 07:38

Я что-то не понял, что такое дублирование функции.

terbooter 21.06.2011 09:42

А что такое дублирование функции?

kackbip 21.06.2011 09:50

Если речь о повторном создании объекта функции то нет.
Если речь о повторном вызове то сколько раз вызовете столько раз и вызовется. :)
Странный вопрос :)

i.o. 21.06.2011 11:19

Цитата:

А что такое дублирование функции?
Код AS3:

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

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


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

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