MouseReleasedButton
Publié : sam. 31/déc./2005 4:44
De retour après presque 2 mois. Je travaille présentement sur l'interface simple 2D d'un future jeu 3D. J'ai eu des problèmes avec les cliques de souris. De tout évidence, la commande MouseButton() n'est pas l'idéale pour gérer les évènements d'un interface graphique. Alors sans plus attendre, voiçi le source d'une solution pour attendre que l'utilisateur relâche le bouton de la souris avant de lancer une commande.
Restez en alerte, demain j'ajouterai un exemple d'utilisation.
A+
Guimauve
Restez en alerte, demain j'ajouterai un exemple d'utilisation.
A+
Guimauve
Code : Tout sélectionner
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Nom du projet : MouseReleasedButton
; Fichier : Source principal
; Version : 1.0.0
; Programmation = OK
; Programmé par : Guimauve
; Date : 30-12-2005
; Mise à jour : 30-12-2005
; Codé avec PureBasic V3.94
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Enumeration 1
#Mouse_Left_Button
#Mouse_Right_Button
#Mouse_Center_Button
EndEnumeration
Procedure.b MouseReleasedButton(ButtonNumber.b)
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< On force la procédure à se souvenir des <<<<<
; <<<<< valeurs des variables de détection d'un <<<<<
; <<<<< relâchement d'un des trois boutons. <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Static Appel.b
Static Appuyee.b
Static Relachee.b
Static Memoire.b
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Si la commande à envoyée son impulsion <<<<<
; <<<<< de relâchement de bouton de la souris, <<<<<
; <<<<< on prépare la procédure pour le clique <<<<<
; <<<<< suivant. Nécessaire : Variables STATIC <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
If Appel = #False
Relachee = #False
Memoire = #False
Appel = #True
EndIf
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< On regarde si le bouton spécifié est appuyé. <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Appuyee = MouseButton(ButtonNumber)
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< S'il est appuyé on mémorise l'état du bouton <<<<<
; <<<<< Si le bouton est appuyé il n'est pas relaché. <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
If Appuyee = #True
Relachee = #False
Memoire = #True
EndIf
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; <<<<< Le bouton à été relâché, on prépare l'envoi de <<<<<
; <<<<< l'impulsion. De plus, prépare la procédure <<<<<
; <<<<< pour le clique de souris suivant. <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
If Appuyee = #False And Relachee = #False And Memoire = #True
Relachee = #True
Appel = #False
EndIf
ProcedureReturn Relachee
EndProcedure
; <<<<<<<<<<<<<<<<<<<<<<<<
; <<<< FIN DU FICHIER <<<<
; <<<<<<<<<<<<<<<<<<<<<<<<