Будет лучше, если вы скажете нам, ПОЧЕМУ или КАК это «не работает должным образом». И сообщите нам любые ошибки, которые вы получаете.
Я сразу вижу некоторые вещи не так. Сначала вы устанавливаете открытый метод с именем factor
, затем внутри этого метода вы устанавливаете factor
в число! Так что же такое factor
? Это функция или число?
Во-вторых, я думаю, что у вас проблемы с областью действия. Поскольку вы не объясняете структуру своих активов, я предполагаю, что у вас есть три мувиклипа, называемые контейнером, контентом и превью. Но я понятия не имею, находится ли содержимое внутри контейнера. И я не понимаю, почему у вас есть мувиклипы, называемые большими пальцами и контентом.
Я собираюсь игнорировать превью MC и просто использовать контент. Я предполагаю, что содержимое MC находится внутри контейнера MC. Я придумал это:
var maxHeight:Number = 400;
stage.addEventListener(MouseEvent.MOUSE_MOVE, moveSlide);
function moveSlide(e:MouseEvent):void
{
var mouseFactor:Number = container.mouseY / maxHeight;
var targetY:Number = (container.content.height - maxHeight) * -mouseFactor;
container.content.y = targetY;
}
Постарайся, чтобы это сначала заработало без всякой анимации. Затем, как только вы начнете работать с математикой, легко добавить эффекты.