Forum d'entraide à la création de jeux d'aventure
 
PortailAccueilFAQRechercherS'enregistrerMembresConnexion

Partagez | 
 

 Double clic

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Creamy
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1050

Date d'inscription : 15/10/2007


MessageSujet: 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é ici
Ca 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.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://creamy.unblog.fr/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2431

Date d'inscription : 01/08/2006


MessageSujet: 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 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
 
Double clic
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Bon bah ça y'est, j'en ai un!
» 1000 pts d'armée pour tournoi amical en double (2000pts)
» PCB Double Dragon, le jeu ce fige !!! Help Me ^^
» [CLASSIQUE] PCB Double dragon aphone : tout savoir !
» The Double Rainbow !!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: