1

かなり堅牢な視差を作成しました。「タイムライン」の概念を使用して、特定のフレーム/シーン内のアイテムを表示します。トリガー (日付またはテキスト) をクリックすると、ユーザーはその特定のシーンに「圧縮」されます。ユーザーは、視差ボックス内でクリック アンド ドラッグすることもできます。

これはすべて期待どおりに機能します。

ただし、「フリック」や「イージング」を追加してほしいという要望がありました。つまり、ユーザーがドラッグを停止した場所で停止するのではなく、ドラッグして停止する場合は、穏やかにオーバーシュートする必要があります。スクロールが激しくなるほどオーバーシュートが大きくなり、ソフトになるほどオーバーシュートが少なくなります。

疑似コード形式での私のアイデアは次のとおりです。

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);
}

私は上記のようなことをしましたが、それはびくびくしていて、レイヤーも必要以上に動き回っていました.

プロジェクトの機密性を考えると、コードとリンクを共有することはできません。ただし、アイデア、リンク、提案、または「ねえ、これを試してみてください」は役に立ちます. ありがとう!

4

0 に答える 0