Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Jeux, jouets et Lego : le deuxième à -50% (large sélection)
Voir le deal

 

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

Aller en bas 
2 participants
AuteurMessage
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 501

Date d'inscription : 01/02/2008


[résolu] Problème lié à une erreur d'identation {} Empty
MessageSujet: [résolu] Problème lié à une erreur d'identation {}   [résolu] Problème lié à une erreur d'identation {} EmptyLun 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" confus

Comment faire ?


Dernière édition par chefgeorges le Lun 31 Mar 2014 - 18:47, édité 1 fois
Revenir en haut Aller en bas
http://instagram.com/ichefgeorges
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


[résolu] Problème lié à une erreur d'identation {} Empty
MessageSujet: Re: [résolu] Problème lié à une erreur d'identation {}   [résolu] Problème lié à une erreur d'identation {} EmptyLun 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();
  }
}
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
chefgeorges
Cliqueur Emérite
Cliqueur Emérite
chefgeorges


Nombre de messages : 501

Date d'inscription : 01/02/2008


[résolu] Problème lié à une erreur d'identation {} Empty
MessageSujet: Re: [résolu] Problème lié à une erreur d'identation {}   [résolu] Problème lié à une erreur d'identation {} EmptyLun 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
http://instagram.com/ichefgeorges
Contenu sponsorisé





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

Revenir en haut Aller en bas
 
[résolu] Problème lié à une erreur d'identation {}
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [résolu]Le jeu ne démarre pas. Où est l'erreur ?
» [Resolu] Erreur lors du changement de "Room"
» [résolu] Message d'erreur grave quand je fais "run"
» [résolu]Probleme de gui
» [Resolu] Probleme FollowCharacter

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: