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

Partagez | 
 

 [Résolu] click non actif sur gui inventaire et après interraction hotspot

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


Nombre de messages : 103

Age : 44

Localisation : Hyères

Date d'inscription : 21/02/2016


MessageSujet: [Résolu] click non actif sur gui inventaire et après interraction hotspot   Mer 6 Avr 2016 - 9:04

Alors je bloque sur le truc depuis janvier, et maintenant je m'y suis penché mais ça fait 2 jours que j'essai de trouver le bins pour pas trop emmerder Kitai lol mais ça veut pas...je trouve pas il doit me manquer une ligne de code quelque part !

Alors j'ai fait une video pour que ce soit plus agréable à comprendre où je bloque ...

Mais pour résumer. (tout se fait avec le click gauche car j'ai filé au click droit juste la fonction de Affiche on ou off du gui inventaire...mais là n'est pas le soucis qui n'a rien à voir puisque ce bug me colle à la peau depuis bien avant ça...

SOUCIS :
Lorsque le charactere apparait dans la room, les objets de l'inventaire ne sont pas cliquables (snif!)
dès qu'on bouge d'un poil le character, alors les objets sont clickable (youpiii)
bon si y'avait que ça, j'aurai bidouillé style a chaque entrée un mini déplacement auto...mais le truc c'est que ça le fait en recurrent après chaque interraction

Pareil en effet donc dès que je clique sur n'importe lequel de mes hotspot ou objets, le character fait l'action puis une fois l'action terminée, de suite bloque les actions des objets de l'inventaire (snif) et un moindre mouvement permet l'action des objets (youpiii !)

Mais que me manque t-il pour qu'il n'y ai pas ce freeze récurrent des objets de l'inventaire dès que le perso est immo a son arrivée ou dès qu'il a fini d'interragir avec un objet ou un hotspot ??? ?



Dessous je colle le code que j'ai de mes fonction mouse...il manque forcément un truc !
Si tu vous pouvez m'aider ? (enfin Kitai je suis sûr qu'il a déjà trouvé lol )
merciiii

Code:
// CONROLE SOURIS ****************************************************************************************************************************

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) {
    
    ginfo.Visible=false;
      if (player.ActiveInventory == null) {
        Mouse.EnableMode(eModeUseinv);
     mouse.Mode= eModeInteract  ;
      mouse.ChangeModeGraphic (eModeInteract, 1368);
          ProcessClick(mouse.x, mouse.y, mouse.Mode ); }
      if(GetLocationType(mouse.x, mouse.y)==eLocationHotspot){
 mouse.Mode = (eModeWalkto);
 }
 if(GetLocationType(mouse.x, mouse.y)==eLocationCharacter){
mouse.Mode = (eModeInteract);
 }
 if(GetLocationType(mouse.x, mouse.y)==eLocationObject){
 mouse.Mode = (eModeUseinv);
 }
 else if (player.ActiveInventory != null) {
      
      ProcessClick(mouse.x, mouse.y, eModeUseinv); }
  
else mouse.ChangeModeGraphic (eModeWalkto, 85) ;
ProcessClick(mouse.x, mouse.y, eModeWalkto);


  }
          if (mouse.Mode == eModeUseinv) {
          player.ActiveInventory = inventory[game.inv_activated];
    if (button == eMouseLeft){
 player.ActiveInventory = null;  // lose active inventory item
          mouse.Mode=eModeInteract;  
  }
  if (button == eMouseLeft) ProcessClick(mouse.x, mouse.y, eModeUseinv);
  
  
  
        }
      
  else if (button == eMouseRight){
   if(button == eMouseRight){
    
    if(gInventory.Visible==true){gInventory.Visible=false;return;}
    
    if(gInventory.Visible==false){gInventory.Visible=true;return;}
    
    
    
 
  else mouse.Mode = (eModeInteract);
 
      
    
    
      } }  
    
      }  

ça doit être un truc tout con mais je sèche !

_________________
PROJET EN COURS
NOUS SOMMES 3 GEEKS : http://www.adipson.fr
#NS3G

"Lorsque tu fais quelque chose, sache que tu auras contre toi, ceux qui voudraient faire la même chose, ceux qui voulaient le contraire, et l'immense majorité de ceux qui ne voulaient rien faire."
Confucius


Dernière édition par Adipson le Jeu 7 Avr 2016 - 11:43, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adipson.fr
Arlann
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 136

Date d'inscription : 06/04/2016


MessageSujet: Re: [Résolu] click non actif sur gui inventaire et après interraction hotspot   Mer 6 Avr 2016 - 18:52

Salut,

Voici peut -être une piste pour ton problème, j'ai l'impression que le mode de pointeur que tu utilises pour ta sélection d'inventaire est différent de celui que tu utilises lors d'une interaction.

Dans ce cas tu devrais peut être utiliser en condition  la fonction GetAtScreenXY pour vérifier si le ton gui d'inventaire est survolé par ta souris et dans ce cas ,  forcer le mode de pointeur que tu utilises pour l'inventaire  (eModeInteract j'imagine) avec la fonction ProcessClick.

J'espère que cela peut t'aider à te débloquer...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Adipson
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue


Nombre de messages : 103

Age : 44

Localisation : Hyères

Date d'inscription : 21/02/2016


MessageSujet: Re: [Résolu] click non actif sur gui inventaire et après interraction hotspot   Jeu 7 Avr 2016 - 5:21

Arlann a écrit:
Salut,

Voici peut -être une piste pour ton problème, j'ai l'impression que le mode de pointeur que tu utilises pour ta sélection d'inventaire est différent de celui que tu utilises lors d'une interaction.

Dans ce cas tu devrais peut être utiliser en condition  la fonction GetAtScreenXY pour vérifier si le ton gui d'inventaire est survolé par ta souris et dans ce cas ,  forcer le mode de pointeur que tu utilises pour l'inventaire  (eModeInteract j'imagine) avec la fonction ProcessClick.

J'espère que cela peut t'aider à te débloquer...


Hello ! Yes y'avait un peu de ça, y a un peu de confusion dans les curseurs et les modes. Bon ce n'était pas un truc à faire avec GetAtScreen mais j'ai trouvé l'astuce pour remedier au problème et c'était dans l'ordre de ton idée en effet, ça m'a aiguillé ! Un grand merci à toi Arlann ! :
il suffisait d'aller dans la fonction du GUI  et de rajouter mes deux lignes de mode curseur en fait


C'était tout con con final, mais c'était galère quand même quand on ne sait pas où chercher.

mouse.ChangeModeGraphic (eModeInteract, 1368);
mouse.Mode = (eModeInteract);

Soit cette petite bricole que je  mets ici des fois que certains aient ce soucis également un jour :

Code:
function initialize_control_panel() {
  // Centre the control panel
  mouse.ChangeModeGraphic (eModeInteract, 1368);
mouse.Mode = (eModeInteract);
  gPanel.Centre();
  }

cela déFreeze alors le bug avec le ginventory. Mais pas pour le freeze après les hotspots...du coup j'ai repris ces 2 lignes, ajoutées à mon code actuel et le soucis des hotspots est également réglé !

Code:
else mouse.Mode = (eModeInteract);
      }
      }
        mouse.ChangeModeGraphic (eModeInteract, 1368);
mouse.Mode = (eModeInteract);
      }

Bon comme c'est mon premier et que je débute, que je suis plutôt graphiste, je peux vous assurer qu'il y aura jamais de point and click avec un code aussi pourri, bidouillé, mal organisé, dégueu... mais bon comme le dit l'adage : peu importe les moyens ce qui compte c'est le résultat lol

_________________
PROJET EN COURS
NOUS SOMMES 3 GEEKS : http://www.adipson.fr
#NS3G

"Lorsque tu fais quelque chose, sache que tu auras contre toi, ceux qui voudraient faire la même chose, ceux qui voulaient le contraire, et l'immense majorité de ceux qui ne voulaient rien faire."
Confucius
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.adipson.fr
Contenu sponsorisé




MessageSujet: Re: [Résolu] click non actif sur gui inventaire et après interraction hotspot   Aujourd'hui à 17:21

Revenir en haut Aller en bas
 
[Résolu] click non actif sur gui inventaire et après interraction hotspot
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Mémoriser la valeur d'une variable après un call
» [Question] Legolas et lieu actif [Résolu]
» [Review] 20012 Click (vidéo)
» [The Game Factory] Pizzagents
» Votre inventaire de jeux

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: