mercoledì 13 maggio 2015

Mettere l'effetto swipe ad una app

Quando realizziamo una app per dispositivi mobili, per risparmiarci un pulsante o per aggiungere un tocco moderno, possiamo implementare lo swipe. Con questo termine si indica il movimento di scorrimento del dito sullo schermo, di solito per passare alla scheda successiva.
Nel nostro esempio possiamo considerare che l'utente voglia gare uno swipe quando striscia il dito sullo schermo per almeno 200 pixels. Inoltre vogliamo attivare solo se fa swipe partendo da destra verso sinistra.
Per fare questo utilizziamo il messaggio MouseMove che ci dice le coordinate del mouse dall'angolo in alto a sinistra.
Il codice da usare è il seguente:


global gPosition #in questo modo questa variabile e' visibile da tutti

on openCard
   #meglio verificare che sia vuota
   put empty into gPosition
end openCard

on mouseDown
   put item 1 of the mouseLoc into gPosition
end mouseDown

on mouseUp
   put empty into gPosition
end mouseUp

on mouseMove pX   
   if gPosition is not empty and 200 < (gPosition - pX) then
      put empty into gPosition
      visual effect push left
      go to next card      
   end if
end mouseMove

se volete lo swipe verso sinistra, al posto di (gPosition - pX) mettete (pX-gPosition). Notate infine che utilizziamo il visual effect push, per avere l'effetto di scorrimento tra una card e l'altra; potete divertirvi ad utilizzare anche altre effetti messi a disposizione dal visual effect di livecode.