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

Partagez | 
 

 Double clic

Aller en bas 
AuteurMessage
Creamy
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
avatar

Nombre de messages : 1181

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
avatar

Nombre de messages : 2608

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
Revenir en haut 
Page 1 sur 1

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: