FLASH / AS3: способ перемещения мувиклипа из одной позиции в другую с эффектом отскока - PullRequest
0 голосов
/ 24 сентября 2010

Я хочу иметь что-то вроде большого неподвижного изображения, которое вы можете перемещать, нажимая кнопки - с эффектом "подпрыгивания".Кнопки, которые перемещаются в определенную позицию, хороши, хотя дополнительные кнопки, которые позволяют вам свободно перемещать их в пределах определенного ограничения, даже лучше.

У меня есть скрипт для него в Actionscript 1.0, который я нашел где-то несколько лет назад, но покаЯ не знаю, как обновить его до 3.0 (и нет ли учебника, объясняющего любой подобный эффект).

Скрипт для подвижного мувиклипа:

onClipEvent (load) {
    moving = 0;
    x = 0;
    rebote = 0;
    section_actual = 1;
    section_new = 1;
    friction = 0.9;
}
onClipEvent (enterFrame) {
    if (moving == 1)
    {
        if (cambio == 1)
        {
            if (section_actual-section_new<0)
            {
                accel = -2;
            }
            else
            {
                accel = 2;
            }
        }
        cambio = 0;
        section_actual = section_new;
        if (accel == -2)
        {
            if (_x+xvel<=x)
            {
                xvel = -xvel;
                _x = x;
                xvel += accel;
                xvel *= friction;
                rebote = 1;
            }
            else
            {
                _x += xvel;
                xvel += accel;
                xvel *= friction;
            }
        }
        if (accel == 2)
        {
            if (_x+xvel>=x)
            {
                xvel = -xvel;
                _x = x;
                xvel += accel;
                xvel *= friction;
                rebote = 1;
            }
            else
            {
                _x += xvel;
                xvel += accel;
                xvel *= friction;
            }
        }
    }
}

Сценарий для одной кнопки:

on (release) {
    tellTarget ("../")
    {
        moving = 1;
        x = -335;
        rebote = 0;
        section_new = 2;
        cambio = 1;
    }
}

Не имеет отношения к проблеме, но все еще требуется, мне нужно обновить функцию кнопки:

on (release) {
    _root.gotoAndStop("TT");
}

1 Ответ

2 голосов
/ 24 сентября 2010

Существуют целые библиотечные пакеты, которые могут обрабатывать всю цепочку анимации одной строкой кода.

Tweener

TweenLite

...