Wyciągam włosy z głowy, próbując dowiedzieć się, co wydaje się być bardzo łatwym problemem. Wiem, że wiele z tych rzeczy zostało powiedziane na temat stycznych, więc przepraszam, jeśli to kroczy po dobrze zakrytym podłożu, ale nie mogę znaleźć niczego konkretnego dla mojego rozwiązania (proszę mi wierzyć, już wyglądałem).iOS - Przeciąganie obiektów po zakrzywionych ścieżkach
Zasadniczo chcę przeciągnąć obiekt/duszkiem wzdłuż wstępnie zdefiniowanej, zakrzywionej ścieżki (nie tylko przenieść, ale DRAG IT). Pomyśl o tym, jak iPhone "przesuwać do odblokowania", ale zamiast przeciągać suwak od lewej do prawej, uczyń ścieżkę łukiem lub linią falistą.
Moje myślenie było podstawowe:
- określić ścieżkę bezier, ustawić obiekt w punkcie startowym.
- jeśli obiekt zostanie dotknięty, sprawdź wykrywanie trafienia na ścieżce beziera w dotknięciach Wykryto (lub podobnej funkcji). jeśli dotknięcia pozostaną na ścieżce, przesuwaj duszek wzdłuż ścieżki, dopóki ścieżka się nie skończy (w takim przypadku zadanie zostanie zakończone) lub palec użytkownika zejdzie ze ścieżki (w takim przypadku obiekt powinien wrócić do początku).
Nic z tego nie jest trywialne (przynajmniej tak to się wydaje). Na przykład:
- Doing hit wykrywanie na ścieżce Beziera jest królewski ból ponieważ rzeczywiście trzeba to zrobić na The Strokes części, a nie części wypełnienia. I nawet wtedy nie mogę znaleźć sposobu na zrobienie tego na ścieżce o dowolnej szerokości - tylko na 1-punktowej ścieżce Beziera.
- Przesuwanie obiektu częściowo wzdłuż ścieżki nie wydaje się możliwe: wszystkie metody animacji przesuwają ikonkę wzdłuż CAŁKOWITEJ ścieżki. Ponadto, wykonanie tej czynności wymaga znalezienia punktu na ścieżce najbliższego dotykowi użytkownika, który, jeśli kiedykolwiek go obejrzałeś, wymaga zdumiewająco skomplikowanej matematyki.
- Myślałem o użyciu ciał sztywnych do zajmowania całej przestrzeni Z WYJĄTKIEM ścieżki, więc obiekt może poruszać się tylko po ścieżce. Wymaga to jednak określenia zakrzywionych ciał sztywnych, z których niektóre muszą być wklęsłe. Ślepy zaułek.
Czy to zbyt trudne? To nie wydaje się takie skomplikowane. Nie potrzebuję całego rozwiązania, tylko nowego sposobu na przemyślenie tego i nakręcenie we właściwym kierunku. Każda pomoc będzie naprawdę doceniona.
Wiem, że zostało to zadane dawno temu, ale teraz mam do czynienia z czymś bardzo podobnym i zastanawiałem się, czy to wymyśliłeś i może być w stanie skierować mnie na właściwą ścieżkę. – gikygik