B4A : Gérer l’évènement Touch

Soit un Panneau Panel1

Class_Globals

Private Start As Int

Evènement Panel1_Touch

Private Sub Panel1_Touch (Action As Int, X As Float, Y As Float)

Select Action
  Case 0 ' DOWN
    Start = X
  Case 1 'UP
    If x > Start + 5 Then
      Log("à droite")
      B4XPages.ShowPage("MainPage")
    else if x < Start - 5 Then
      Log("à gauche")
      B4XPages.ShowPage("Id_page1")
    else
       Log("Immobile")
    End If 
  Case 2 'MOVE
     Log("Move")
End Select

End Sub

ACTION détermine le type de mouvement

Valeur (Int) Action Macro
0 je touche l’écran DOWN
1 je lâche l’écran UP
2 je bouge mon doigt MOVE

X et Y sont les coordonnées du doigt en temps réel

Start est la position de référence survenant sur l’ACTION DOWN

On lit la différence sur l’ACTION UP

On laisse une marge de 5 pixels pour ne pas interpréter comme un mouvement les simples tremblements

  • Si X augmente c’est que je vais à droite
  • Si X diminue c’est que je vais à gauche
  • Pareil pour Y en déplacement Haut et Bas.

ATTENTION : Tous les Objets ne sont pas “touchables”

 

Laisser un commentaire