2016-07-27 5 views
1

웹에서는 대개 기본 스크롤 메커니즘을 사용합니다. 그들은 빠르고 안정적이며 코딩이 필요 없습니다.PastryKit을 기반으로 완벽한 스크롤 이완을 해부하고 재현하는 데 도움이 필요합니다.

유니티에 더 많은 작업하는 동안 그러나, 내가 스크롤에 사용할 수있는 플러그인 등 Unity.UI 또는 NGUI 심지어 큰 사람은 단순히 끔찍한 것을 발견했다. 나는 주변에 물어 보았고, 그것이 대부분의 플랫폼에서 그런 것임을 알았다. 물리학은 평범하지 않습니다.

나는 연구의 무리를하고 난 등 웹 iScroll.js에, NGUI있는 ScrollView에서 몇 가지 솔루션을 시도하고있다. 나는 원래 애플의 PastryKit만큼 완벽한 솔루션을 찾지 못했습니다. 이제, PastryKit은 오래되어 사용되지 않으며, API도없고 상형 문자처럼 읽기가 어렵습니다.

그러나 은 iOS 동적 스크롤 물리 동작을 정확하게 재현 할 수 있습니다.

나는 내가 그것을 작동하는 방법을 찾기 위해 노력하고, PastryKit을 구현하기 위해 노력하고 있지 않다. 나는 이해하고 복제하려고 노력하고있다.

나는 내가 전체 스택 개발을 나는 너무도 그래도, 그들은에서 사용 논리적 조건을 사용하는 이징/공식을 찾을 수 있습니다. 애플은 JS 혼란 쓰기의 미친 방법이 에 노력하고 있습니다 모든 것을 추적하는 데 어려움을 겪고 있습니다. 그리고 나는 뇌가 거의 없다는 것을 알았습니다. 그래서이 파일을 이해할 수 있습니까? : D

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

(그래서 오해가 없다) : 나는 내가 내 자신의 구현을 작성하기 위해 지침으로 사용할 수있는이 파일에서 물리학 일련의 규칙을 추출하는 것을 시도하고있다 내가 선택한 플랫폼에서 스크롤하십시오. 예 : 'normal'scroll은 {> 300ms & &> 10px}로 정의되며 slowdown 애니메이션을 풀 때 Apple은 다음과 같은 베 지어 곡선을 사용합니다. cubic-bezier.com/#.25,.46,.1,.94

업데이트 : 이전에 해결했습니다. 우리는 Apple이 어떻게 추진력을 발휘했는지 발견했습니다. https://medium.com/homullus/recreating-native-ios-scroll-and-momentum-2906d0d711ad

+0

NGUI? 뭐? 너 몇 살이야, 95 살? :) – Fattie

+0

Unity.UI를 사용하는 빠른 랜덤 예제 (완전히 사소한 것입니다 ...)http://stackoverflow.com/a/34744087/294884 – Fattie

+0

나는 달성하기 위해 노력하고있는 것을 이해하기가 더 쉬울 것이라는 희망으로 질문을 업데이트했습니다. 응답 해 주셔서 감사합니다 Joe –

답변

0

알고리즘을 해부의 몇 시간 후, 우리는 애플 매직 넘버를 사용하여 사실이라고 결론을 내렸다. 그리고 매직 넘버는 : (드럼 롤) 운동량 * 0.95입니다. 터치가 지속되는 동안

기본적으로, 애플은 화면 1을 이동할 수 있습니다 : 1. 터치 최종 애플에

는 사용자가 슬쩍했다 픽셀, 사용자가 위해 슬쩍 한 시간의 수를 나누어 추진력을 얻을 것입니다. 픽셀 수가 10보다 적거나 시간이 0.5보다 작 으면 운동량이 0으로 고정됩니다. 운동량 (속도가) 우리에게 알려진 후

어쨌든, 그들은 모든 프레임에서 0.95으로 곱 것, 그리고 그만큼 화면을 이동합니다.

그래서 idiotically 간단하고 우아한, 아파요. :)