Creamy Disciple de la Grande Tasse Bleue
Nombre de messages : 1266
Date d'inscription : 15/10/2007
| Sujet: Double clic Lun 1 Juin 2015 - 13:05 | |
| Bonjour, Je prévois une grosse mise à jour pour une nuit en Berry, avec notamment un double clic de déplacement rapide entre les pièces. J'ai recopié un code trouvé iciCa fonctionne mais ce n'est pas parfait. Le perso a une fâcheuse tendance à répéter les interactions qui viennent d'être cliquées ou à se déplacer tout seul. Quelqu'un aurait-il une idée pour améliorer ça? Global script : - Code:
-
//DOUBLE CLIC #define DCDELAY 10 function left_click(bool single) { if (single) { // single-click code ProcessClick(mouse.x, mouse.y, mouse.Mode ); } else { // double-click code ProcessClick(mouse.x, mouse.y,eModeUsermode2); } } int lastclick, mx, my; Dans le repeatedly_execute : - Code:
-
//DOUBLE CLIC if (lastclick>0 && lastclick<=DCDELAY) lastclick++; else if (lastclick>DCDELAY) { lastclick=0; left_click(true); } Et un peu plus loin : - Code:
-
#sectionstart on_mouse_click // DO NOT EDIT OR REMOVE THIS LINE function on_mouse_click(MouseButton button) {
if (lastclick && mouse.x==mx && mouse.y==my) { lastclick=0; left_click(false); } else { lastclick=1; mx=mouse.x; my=mouse.y; } PS : le module d'Asraroth ne fonctionne pas sur la version 2.72 d'AGS qui fait tourner le jeu. |
|
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Double clic Lun 1 Juin 2015 - 21:00 | |
| Note préliminaire : Le système de coloration du code du forum a un problème d'affichage des opérateurs de comparaison (signes < et >).
Une erreur m'échappe peut-être, mais ton code m'a l'air bon. Je ne vois pas trop d'où vient ton problème, es-tu sûr de n'avoir qu'une seule fonction on_mouse_click à travers tes scripts ? Tu peux aussi faire une recherche de "ProcessClick" pour voir si le problème se situe ailleurs. _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
|