
Код 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;
}
}