我创造了一个相当强大的视差。它使用“时间轴”概念来显示给定帧/场景中的项目。单击触发器(日期或文本)会将用户“压缩”到给定场景。用户还可以在视差框内单击并拖动。
所有这些都按预期工作。
但是,要求添加“轻弹”或“缓动”。也就是说,当用户拖动和停止而不是仅停止用户停止拖动的位置时,需要轻轻地过度拍摄。它们滚动得越多,拍摄越多,过度拍摄越柔和越少。
我在psudo-code方式中的想法是:
on scroll{
startMove = getTime;
clearTimeout(moving)
moving = setTimeout(){
endTime = getTime;
moveTime = endTime - startMove;
speed = [decide amount to overshoot based on moveTime];
layer1.animate({'left':layer1.position().left - (speed/layerScrollSpeed)});
},50);
}
我做了类似上面的事情,但它很跳跃,层数也比他们需要的还多。
鉴于项目的敏感性,我无法共享代码和链接。但是,任何想法,链接,建议或“嘿,试试这个”都会有所帮助。谢谢!