Mi sto strappando i capelli cercando di capire quello che sembra essere un problema molto facile. So che molte di queste cose sono state discusse in modo tangenziale, quindi scuse se questo calca su un terreno ben coperto, ma non riesco a trovare nulla di specifico per la mia soluzione (credetemi, ho guardato).iOS - Trascinando gli oggetti lungo i percorsi curvi
Fondamentalmente voglio trascinare un oggetto/sprite lungo un percorso curvo predefinito (non solo spostarlo, ma DRAG IT). Pensa alla cosa "Slide to unlock" dell'iPhone, ma invece di trascinare il cursore da sinistra a destra, rendi il percorso un arco o una linea ondulata.
Il mio pensiero di base era:
- definire un tracciato Bezier, impostare l'oggetto nel punto di partenza.
- se l'oggetto viene toccato, controllare la rilevazione del colpo sul percorso di Bezier in ToccaMolti (o qualche funzione simile). se i tocchi rimangono sul percorso, fai avanzare lo sprite lungo il percorso fino a che il percorso non termina (nel qual caso, l'attività è finita) o il dito dell'utente si allontana dal percorso (nel qual caso, l'oggetto dovrebbe tornare all'inizio).
Niente di tutto questo è banale (almeno, è così che sembra). Ad esempio:
- Fare il rilevamento di un colpo su un percorso di Bezier è un dolore reale poiché è effettivamente necessario farlo sulla porzione segnata, non sulla porzione di riempimento. E anche allora, non riesco a trovare un modo per farlo su un percorso di qualsiasi larghezza - solo sul percorso di 1 punto di punto di Bezier.
- Lo spostamento di un oggetto parzialmente lungo un percorso non sembra nemmeno possibile: tutti i metodi di animazione spostano lo sprite lungo il percorso INTERO. Inoltre, per fare ciò è necessario trovare il punto sul percorso più vicino al tocco dell'utente, il che, se lo si è mai visto, implica una matematica incredibilmente complicata.
- Ho pensato di usare corpi rigidi per occupare tutto lo spazio, TRANNE il percorso, quindi l'oggetto può muoversi solo nel percorso. Tuttavia, ciò richiede la definizione di corpi rigidi curvi, alcuni dei quali devono essere concavi. Senza uscita.
Sto rendendo questo troppo difficile? Non sembra così complicato. Non ho bisogno di una soluzione completa, solo un nuovo modo di pensare a questo e dare il via nella giusta direzione. Qualsiasi aiuto sarebbe molto apprezzato.
So che questo è stato chiesto molto tempo fa, ma mi sto imbattendo in qualcosa di molto simile in questo momento e mi stavo chiedendo se avessi capito fuori e potrebbe essere in grado di aiutarmi a orientarmi lungo il percorso corretto. – gikygik