L'événement tactile à Corona comporte 4 phases : "commencé", "déplacé", "terminé" et "annulé". Quand l'événement reçoit-il la phase "cancelled" ? (Je n'ai pas trouvé de fonction permettant d'annuler l'événement, il suffit de supprimer les écouteurs). Et comment puis-je utiliser la phase "cancelled" de l'événement dans une application ?
Réponses
Trop de publicités?Le Corona SDK est une couche d'abstraction au-dessus d'iOS et d'Android ; la plupart des décisions de conception se reflètent sur la plateforme sous-jacente.
Il semblerait que l'événement tactile implémente l'objet UITouch (ou l'équivalent sous Android). En cherchant sur Google " iphone uitouch annulé " a donné lieu à cette question qui devrait répondre à la vôtre.
Si vous devez "annuler" manuellement un événement, il suffit de stocker un drapeau dans un objet associé (ou dans l'événement tactile, s'il s'agit d'un simple tableau) et de le vérifier lorsque "déplacé" ou "terminé" est appelé.
(Avertissement : je n'ai jamais utilisé Corona, ni développé pour des plateformes mobiles).
En gros, si vous tenez un objet, un bouton, etc. et que vous faites glisser votre doigt au lieu de le relâcher, cela sera enregistré comme "annulé", avec lequel vous pouvez faire ce que vous voulez, généralement comme "terminé".
Exemple :
if event.phase == "began" then --Pressing the button
move = true
elseif event.phase == "canceled" then --sliding your finger off
move = false
elseif event.phase == "ended" then --Releasing the button
move = false
end