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

Partagez | 
 

 [résolu] Problème lié à une erreur d'identation {}

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: [résolu] Problème lié à une erreur d'identation {}   Lun 31 Mar 2014 - 9:03

Bonjour,

J'ai récemment modifié mon Global Script comme suit :
Code:
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
  {
  }
  else if (button == eMouseLeft)
 {
    ProcessClick(mouse.x,mouse.y, mouse.Mode);
  
    if (mouse.Mode == eModeWalkto)
  {
  player.Walk (mouse.x+GetViewportX(), 416, eNoBlock, eWalkableAreas);
   }
  else // right-click, so cycle cursor
  {  
   mouse.SelectNextMode();
  }
}
}
C'était afin de permettre un déplacement à la Maniac Mansion en cliquant avec le clic gauche n'importe où sur l'écran. Ça fonctionne. Sauf que je viens de constater un soucis assez génant : quand je choisi de "regarder" un objet ou un hotspot, après l'action (ici souvent des display()) le curseur revient en mode "walk" là où il restait avant sur le mode "look" perplexe

Comment faire ?


Dernière édition par chefgeorges le Lun 31 Mar 2014 - 18:47, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
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: [résolu] Problème lié à une erreur d'identation {}   Lun 31 Mar 2014 - 13:41

Salut chefgeorges,

Je pense que tu devrais faire plus attention à l'indentation dans ton code, ça rendrait la lecture plus aisée (aussi bien pour toi que pour nous). Si j'indente correctement le code que tu as donné, ça donne ça :
Code:
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
  {
  }
  else if (button == eMouseLeft)
  {
    ProcessClick(mouse.x,mouse.y, mouse.Mode);
 
    if (mouse.Mode == eModeWalkto)
    {
      player.Walk (mouse.x+GetViewportX(), 416, eNoBlock, eWalkableAreas);
    }
    else // right-click, so cycle cursor
    { 
      mouse.SelectNextMode();
    }
  }
}
Tu vois alors que ton "else // right-click, so cycle cursor" se trouve en complément du "if (mouse.Mode == eModeWalkto)", ce qui veut dire qu'en fait son code ne se déclenche pas lors d'un clic droit, mais lors d'un clic gauche où le mode de la souris n'est pas eModeWalkto.

En ré-associant à nouveau le else au bon if, je pense que tu retrouveras l'effet désiré :
Code:
function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  if (IsGamePaused() == 1) // Game is paused, so do nothing (ie. don't allow mouse click)
  {
  }
  else if (button == eMouseLeft)
  {
    ProcessClick(mouse.x,mouse.y, mouse.Mode);
 
    if (mouse.Mode == eModeWalkto)
    {
      player.Walk (mouse.x+GetViewportX(), 416, eNoBlock, eWalkableAreas);
    }
  } // L'accolade fermant le else if (button == eMouseLeft)
  else // right-click, so cycle cursor
  { 
    mouse.SelectNextMode();
  }
}

_________________
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
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu] Problème lié à une erreur d'identation {}   Lun 31 Mar 2014 - 18:46

Kitai a écrit:
Je pense que tu devrais faire plus attention à l'indentation dans ton code, ça rendrait la lecture plus aisée (aussi bien pour toi que pour nous)
Tu as tout-à-fait raison sourire

Et merci de répondre présent pour mes questions foireuses, lol clin d\\\\'oeil
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Contenu sponsorisé




MessageSujet: Re: [résolu] Problème lié à une erreur d'identation {}   Aujourd'hui à 19:18

Revenir en haut Aller en bas
 
[résolu] Problème lié à une erreur d'identation {}
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Problème GTA:SA "Configuration merde"
» [résolu]Problème d'installtion du projet compilé
» [Résolu]Problème de nez qui clignote orange - Freebox HD
» [Résolu] Problème wifi avec nabaztag:tag
» [Résolu] Problème d'accès à http://192.168.0.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: