Я не могу помочь вам с жестами, потому что я никогда не работал с ними напрямую, но позиционирование логично ... не сложно.
У вас есть Массив объектов и Массив позиций. После 1-го пролистывания вы хотите, чтобы только первый объект go занял первое заданное положение:
Positions: ... (6) (5) (4) (3) (2) (1)
Objects: (1) (2) (3) (4) (5) (6) ...
После 2-го пролистывания:
Positions: ... (6) (5) (4) (3) (2) (1)
Objects: (1) (2) (3) (4) (5) (6) ...
После 5- th swipe:
Positions: ... (6) (5) (4) (3) (2) (1)
Objects: (1) (2) (3) (4) (5) (6) ...
Итак, скрипт должен go выглядеть следующим образом (вроде):
// A list of your objects here.
var A:Array = [mc1, mc2, ... , mc50];
// A list of designated points here. I kinda advise to design
// these on stage with empty MovieClips appropriately named.
// This way you will have a visual representation of these
// positions, not just lots of numbers on your code.
var P:Array = [p1, p2, ... , p50];
// You need to keep a number of successful swipes, it is,
// literally, the number of objects you need to re-position.
var N:int = 0;
// So, after you successfully register a new swipe,
// you call this method to apply the re-positioning.
function arrangeThings():void
{
// So we take first N objects, one by one.
for (var i:int = 0; i < N; i++)
{
// Figure the index of the P for the current designated position.
var anIndex:int = N - i - 1;
// Get the position object itself.
var aPos:DisplayObject = P[anIndex];
// Get the object to position.
var anObject:DisplayObject = A[i];
// Assume the designated position.
anObject.x = aPos.x;
anObject.y = aPos.y;
}
}
Тогда я уже объяснил вам, как сброс вещей в комментарии здесь . Проще говоря, вы просто сохраняете начальные координаты в начале, а затем присваиваете их обратно при необходимости.