4

Web では、通常、ネイティブのスクロール メカニズムを使用します。それらは高速で信頼性が高く、コーディングは必要ありません。

しかし、Unity での作業が増えるにつれて、Unity.UI や NGUI などの大きなプラグインでさえ、スクロール用に利用できるプラグインが単にひどいものであることがわかりました。いろいろ聞いてみたところ、ほとんどのプラットフォームでそうであることがわかりました。物理は明らかに苦手です。

私はたくさんの調査を行い、NGUI scrollView から web iScroll.js など、いくつかのソリューションを試しました。元の Apple の PastryKit ほど完璧なソリューションは見つかりませんでした。現在、PastryKit は古く、非推奨であり、API がなく、象形文字と同じくらい読みにくいです。

しかし、重要なことは、作成中に iOS キネティック スクロールの物理動作を正確に再現できたことです。

私は PastryKit を実装しようとはしていません。それがどのように機能するかを調べようとしています。私は理解し、複製しようとしています。

私は彼らが使用するイージング/式とそれらが使用する論理条件を見つけようとしています.Appleは混乱を招くJSを書くクレイジーな方法を持っているので、私はフルスタックの開発者ですが、すべてを追跡するのに苦労しています. そして、私は少数の脳が 1 つよりも優れていると考えたので、見てみましょう、誰かこのファイルを理解していますか? :D

https://github.com/jimeh/PastryKit/blob/master/mobile/dist/PastryKit.js

要するに (誤解のないように):このファイルから一連の物理規則を抽出しようとしています。これは、選択したプラットフォームでスクロールの独自の実装を作成するためのガイドラインとして使用できます。:)

例: 「通常の」スクロールは {>300ms && >10px} で定義されます。Apple は、スローダウンのアニメーションを緩和するときに次のベジエ曲線を使用します。cube-bezier.com/#.25,.46,.1,.94

更新: 少し前にこれを解決しました。私たちは、Apple がどのように勢いをつけているかを発見しました。 https://medium.com/homullus/recreating-native-ios-scroll-and-momentum-2906d0d711ad

4

1 に答える 1