Italian Inerzia e scroll dinamico di una immagine

AlpVir

Well-Known Member
Licensed User
Longtime User
Tutti sapete che trasciando un dito su una ampia immagine essa si sposta ed il suo spostamento non si arresta quando il dito viene sollevato dallo schermo.
Si arresta solo, quasi fosse un corpo vivo, per "inerzia", dopo un certo tempo, rallentando via via.
Questa "simulazione" è assai piacevole a vedersi ed anche efficace perchè, credo, la velocità di spostamento è (nel primissimo momento di rilascio del dito) identica a quella dello spostamento del dito sullo schermo. Poi - come già detto - la velocità descesce fino ad essere uguale a zero.
Dopo questa lunga descrizione viene la domanda: come implementare tutto ciò senza usare ImageView o altri oggetti del genere ? Solo usando il Canvas e la libreria Gesture però.
Un aiuto sarebbe già conoscere come si chiama esattamente - in inglese - questo particolare processo, in modo da poter cercare maggiori informazioni su di esso.
Grazie per l'attenzione.
 

timo

Active Member
Licensed User
Longtime User
Bisognerebbe implementare un coefficiente d'attrito (friction) al rilascio del dito in funzione della velocità media t2 (rilascio)-t1(istante poco prima del rilascio).
Solitamente non si traduce con la formula fisica esatta, ma si 'tarocca' un po' per adattarlo al motore. Un esempio:
Animations with Actionscript 3.0 - spring and friction
Eccone un altro di semplificazione del concetto (qui usato a contrario: accelerazione gravitazionale)
I miei due cents su gravitÃ*, frizione e rimbalzo - ACTIONSCRIPT.IT
Qui avevo implementato l'attrito in un mio gioco (ma la parte complicata era la gestione delle collisioni bidimensionali)
YoYo Games | minipool.
Non mi sono avvicinato alle librerie di b4a che si occupano della grafica, ma credo non sia molto complicato da fare.
 
Last edited:
Top