Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal
Le Deal du moment : -45%
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre ...
Voir le deal
339 €

 

 Mode "aller" sur un hotspot actif ou inactif

Aller en bas 
3 participants
AuteurMessage
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 7:41

Bonjour.
Je fais maintenant face à un problème un peu relou:
Comme vous l'avez peut-être vu sur le forum, j'ai mis en place un curseur dynamique de type Sierra, clic droit pour changer de mode, clic gauche pour le processclick.
Je souhaiterais, sur un hotspot qui a une propriété "condamné" false ou true (qui signifie "je peux pas y aller" et "je peux y aller"), que mon personnage agisse en fonction de celui-ci.

Problème: Il n'y a pas de mode "Aller" de base. Je veux dire avec l'icône petit éclair proposé dans les propriétés des hotspots. uh

J'ai donc tenté un code comme celui-ci:

Code:

function hSortie_AnyClick()
{
 if (((hSortie.GetProperty("Condamné")==false))&&(mouse.Mode == eModeAller)&&(Mouse.IsButtonDown(eMouseLeft)))
 {
  player.Say("Je n'ai pas l'autorisation...");
 }
 if (((hSortie.GetProperty("Condamné")==true))&&(mouse.Mode == eModeAller)&&(Mouse.IsButtonDown(eMouseLeft)))
 {
  player.ChangeRoom(2);
 }
}

...Qui ne fait pas l'affaire.

À savoir que lorsque je tente un code similaire sur une fonction disponible de base comme "Look" ou "Interact" (en proposant bien sûr dans le mouse.Mode un eModeRegarder ou un eModeMain)... Tout se passe à merveille.

Voilà... Je ne sais pas comment régler ça... Donc si vous avez une idée...

Merci. sourire
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 15:41

Dans la liste des curseurs, tu as deux modes personnalisables, nommés par défaut "Usermode1" et "Usermode2". J'ai modifié le nom de "Usermode1" que j'ai remplacé par "AllerVers" dans la capture suivante :
Mode "aller" sur un hotspot actif ou inactif ToUyC3j

En modifiant le nom du curseur, ça édite automatiquement la liste des events de la room, comme ici :
Mode "aller" sur un hotspot actif ou inactif H4d5wXD

Tu n'as plus qu'à utiliser ce(s) nouveau(x) mode(s) exactement de la même manière que les modes par défaut.

Est-ce que ça fait l'affaire ?

Edit : J'aurais dû parler de modes "bonus" plutôt que personnalisables, parce que dans l'absolu, ils sont tous personnalisables. En soi les modes "Usermode1" et "Usermode2", n'ont rien de différent des autres modes.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 15:59

Merci, je pense que je vais effectivement pouvoir machiner avec ceci...
Mais là tel quel cela ne semble pas fonctionner.
Dois-je faire un fonction particulière dans le global qui lui dit quoi faire ou un simple truc comme ceci est sensé faire le job ???

Code:

function hSortie_Mode8()
{
 if (((hotspot[2].GetProperty("Condamné")==false))&&(mouse.Mode == eModeAller)&&(Mouse.IsButtonDown(eMouseLeft)))
 {
  player.Say("Je n'ai pas l'autorisation...");
 }
 if (((hotspot[2].GetProperty("Condamné")==true))&&(mouse.Mode == eModeAller)&&(Mouse.IsButtonDown(eMouseLeft)))
 {
  player.Walk(hotspot[2].WalkToX, hSortie.WalkToY, eBlock, eWalkableAreas);
  player.ChangeRoom(2);
 }
}
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 16:23

Qu'est-ce qui ne fonctionne pas ? Tu as ajouté un curseur et tu arrives à le sélectionner déjà ?
Oui une fonction comme ça est censée faire le job, normalement. Par contre c'est inutile de vérifier que le bouton gauche est enfoncé.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 16:33

valoulef a écrit:
Qu'est-ce qui ne fonctionne pas ? Tu as ajouté un curseur et tu arrives à le sélectionner déjà ?

Je n'ai pas trop compris ta question, mais si c'est ce que tu voulais me dire, mon nouveau curseur fait bien apparaitre un nouveau mode (le 8 donc) dans les events du petit éclair jaune...

Et j'ai donc tapé ces lignes... Et le résultat "player.Say" ou "Change Room" ne se fait pas.

Et dans ce que j'ai prévu le clic gauche est nécessaire dans mes déclarations car je veux que cela se passe seulement si le joueur clique.
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 16:56

Jorkz a écrit:
Et dans ce que j'ai prévu le clic gauche est nécessaire dans mes déclarations car je veux que cela se passe seulement si le joueur clique.

La fonction est appelée si et seulement si le joueur clique avec le bon mode sur le hotspot, donc rajouter cette condition est inutilement redondant (et ça augmente le risque de bug). D'ailleurs, c'est aussi inutile de mettre une condition sur le mode de curseur, du coup. Tu as juste besoin de vérifier la propriété du hotspot.

Dans tes tests, tu es sûr d'avoir sélectionner le bon mode de curseur ?
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 17:06

valoulef a écrit:
D'ailleurs, c'est aussi inutile de mettre une condition sur le mode de curseur, du coup. Tu as juste besoin de vérifier la propriété du hotspot
Ok mais tu es sûr de ça ?
Je précise quand même que j'ai un curseur "dynamique" dans le sens où, en ayant suivi ton tuto vidéo, il se met en surbrillance à certains endroits.
Sinon il a bien 4 modes... Mais qu'il faut passer avec un clic droit.

Après ce qui est vraiment chelou c'est que ma fonction marche parfaitement dans les autres modes, donc je ne pense pas qu'il y ait interférence avec autre chose, d'autant que je viens à peine de créer ce mode. (le 8 )

Y'a quelque chose qui m'échappe je pense.
Revenir en haut Aller en bas
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


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyJeu 17 Fév 2022 - 23:03

Jorkz a écrit:
Ok mais tu es sûr de ça ?
Je seconde ce qu'a dit @valoulef : étant donné le nom de ta fonction, je pense qu'elle est référencée dans la grille d'événements de ton hotspot dans la ligne qui correspond au mode 8 : cette configuration a pour résultat que la fonction est appelée si (et seulement si) l'interaction mode-8 avec le hotpot est exécutée. Sur la base de ton code dans l'autre sujet, un clic gauche normal dans ton jeu exécute Room.ProcessClick(mouse.x, mouse.y, mouse.Mode), ce qui va effectivement lancer l'interaction avec le hotspot en utilisant le mode où se trouve la souris au moment du clic

Je sais pas si Mouse.IsButtonDown(eMouseLeft) vaut true au moment où l'interaction est exécutée : le bouton de la souris est enfoncé au moment où le clic est détecté, mais le temps que la réaction en chaîne exécute ta fonction hSortie_Mode8, je sais pas si c'est encore true

Dans tous les cas, comme le remarque @valoulef, tu devrais enlever cette condition, puisque de toute façon ta fonction n'est exécutée que lors d'un clic (et uniquement lorsque le curseur est en mode 8, que j'imagine être le mode Aller) :

Code:
function hSortie_Mode8()
{
  if (hotspot[2].GetProperty("Condamné")==false)
  {
    player.Say("Je n'ai pas l'autorisation...");
  }
  else
  {
    player.Walk(hotspot[2].WalkToX, hSortie.WalkToY, eBlock, eWalkableAreas);
    player.ChangeRoom(2);
   }
}
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 6:44

Oui. De bon matin bien frais dispo tout ça me paraît bien évident en fait... Désolé valoulef mais je croyais que tu ne m'avais pas compris.
J'ai modifié le code ci-dessus à l'identique (enfin, pas vraiment car j'ai cette fois enlevé l'accent de "Condamné", c'est mieux).

Après, le problème, c'est ce que je disais hier à valoulef, ayant déjà plein de réglages pour mon curseur, j'avoue c'est un vrai casse-tête pour moi de switcher proprement du mode Aller au mode 8. Ma gestion du curseur est la suivante:
Code:

// comportement survol RIEN____________________________________________________

if ((hsurvol == hotspot[0])||(osurvol == null)||(csurvol == null))
  {  
    if (mouse.IsModeEnabled(eModeAller))
    {
      mouse.ChangeModeGraphic(eModeAller,1);
    }  
    if (mouse.IsModeEnabled(eModeRegarder))
    {
      mouse.ChangeModeGraphic(eModeRegarder,3);
    }  
    if (mouse.IsModeEnabled(eModeMain))
    {
      mouse.ChangeModeGraphic(eModeMain,5);
    }
    if (mouse.IsModeEnabled (eModeParler))
    {
     mouse.ChangeModeGraphic(eModeParler,7);
    }
  }

// comportement survol SORTIES DE ROOM__________________________________________

if ((hsurvol != hotspot[0])&&(mouse.IsModeEnabled(eModeAller)))
  {
    if(hsurvol.GetProperty("Sortie")== true)
    {
      mouse.ChangeModeGraphic(eModeAller,2);
    }
    if((hsurvol.GetProperty("Sortie")== false)||(hsurvol.GetProperty("Choopa")== true))
    {
      mouse.ChangeModeGraphic(eModeAller,1);
    }
  }

  
// comportement survol POINTS CHAUDS____________________________________________
  
if ((hsurvol != hotspot[0])&&(hsurvol.GetProperty("Choopa")== true))
  {
    if (mouse.IsModeEnabled(eModeRegarder))
    {
      mouse.ChangeModeGraphic(eModeRegarder,4);
    }
    if (mouse.IsModeEnabled(eModeMain))
    {
      mouse.ChangeModeGraphic(eModeMain,6);
    }
  }

J'ai mis ici la partie qui nous intéresse vraiment, celle sur les hotspots.
Je n'arrive pas à décortiquer le truc et je ne sais pas vraiment où changer quoi...  confus

D'autant que quand j'ai un truc qui se rapproche de ce que je veux je ne sais pas vraiment non plus quoi faire pour dire à AGS de quitter le Mode 8 / (eModeSortir)... Par exemple quand je clic droit ou "désurvole" du hotspot.

Si vous avez une idée...

Merci.

EDIT: la propriété "Choopa" est un bool normal où je spécifie à certains points chauds que l'apparence du monde main (interact) change, et ceci pour faire des petites feintes au joueur (lui faire croire par exemple que le hotspot peut être un objet qu'il pourrait prendre à un moment).
La propriété "Sortie" est également un bool pour se surbrillancer en mode aller sur les sorties de room possibles.

(Je me demande par ailleurs si avoir créé en plus une propriété "Condamne" n'était pas de trop...)
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 15:58

J'ai fait une petite erreur hier avec la solution que je t'ai donné sur le chat. Je reprends :

Si je ne me trompe pas, ce que tu veux, c'est que quand le curseur est en mode aller (WalkTo), et que quand tu cliques sur un hotspot ayant la propriété "Sortir" sur true, alors au lieu que AGS exécute le comportement habituel du mode "WalkTo" (à savoir se déplacer vers les coordonnées de la souris), il exécute un event codé dans le script de ta room, telle une interaction classique.

On a vu ensemble que pour éviter des conflits, le mode "WalkTo" ne peut déclencher d'event. J'ai donc proposé de tricher en faisant basculer le mode de curseur de "Aller" à un mode alternatif, au survol des hotspots concernés.

Ce qui donne :
Code:
// comportement survol SORTIES DE ROOM__________________________________________

if ((hsurvol != hotspot[0])&&(mouse.IsModeEnabled(eModeAller)))
  {
    if(hsurvol.GetProperty("Sortie")== true)
    {
      mouse.Mode = eModeSortir; //Mettre à jour cette ligne (eModeSortir = nom donné au Mode 8 qui contient par défaut le curseur en surbrillance)
    }

Ensuite, quand le curseur ne survole plus la zone, il faut repasser sur le mode "Aller". C'est ici que j'ai fait une petite erreur hier. On doit vérifier si le curseur est en mode "Sortir", et si c'est le cas, le basculer sur le premier mode. Ça donne ça :

Code:
// comportement survol RIEN____________________________________________________

if ((hsurvol == hotspot[0])||(osurvol == null)||(csurvol == null))
  {
    if (mouse.Mode == eModeSortir){ //Ajouter ce bloc
      mouse.Mode = eModeAller;
    }//Fin de modification
    if (mouse.IsModeEnabled(eModeAller))
    {
      mouse.ChangeModeGraphic(eModeAller,1);
    }  

Ensuite, tu n'as plus qu'à coder les events d'interaction du hotspot en mode "Sortir", et le tour est joué.

Jorkz a écrit:
(enfin, pas vraiment car j'ai cette fois enlevé l'accent de "Condamné", c'est mieux)
Vu qu'il apparait entre guillemets, le nom des propriétés personnalisées est une chaîne de caractères (String). Du coup, tu peux sans problème mettre des accents si tu le souhaites, mais c'est toi qui voit.

Jorkz a écrit:
(Je me demande par ailleurs si avoir créé en plus une propriété "Condamne" n'était pas de trop...)
Tu pourrais faire autrement (avec une variable booléenne dans le script de la room, par exemple), mais c'est utile si en plus de distinguer les Hotspots "normaux" des sorties, tu veux distinguer les sorties ouvertes des sorties condamnées. C'est une méthode valable.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 16:35

Salut et merci encore.
Évidemment, ta solution fonctionne bien pour ce qui est du "pur survol", et j'avais déjà tenté un truc de ce type ce matin il me semble (mais ça marchait pas aussi bien clin d'oeil )...

Mais comme je disais le problème ensuite c'est la gestion de mon clic droit, car là il reste bloqué dans la zone voulue en mode "Sortir"... et c'est à ce niveau que je ne m'en sors plus, je ne sais pas où lui dire de désactiver ce mode 8 / Sortir si un clic droit est fait.

j'ai fait ça dans la fonction onmouseclick:

Code:
//______________Clic DROIT normal = passe au mode suivant_________________
 
  else if (button == eMouseRight)
  {
    player.ActiveInventory = null;
    mouse.SelectNextMode();  
  }
   else if /*(mouse.Mode == eModeSortir)*/((mouse.IsModeEnabled(eModeSortir))&&(button == eMouseRight))
  {
    mouse.DisableMode(eModeSortir);
    mouse.Mode = eModeRegarder;
  }

mais, avec la formule commentée en vert comme avec l'autre, ça ne fonctionne pas.

Et deuxième problème, moins grave cependant mais pas tip top niveau gamedesign, c'est que de la même manière lorsqu'un objet d'inventaire est en curseur il se change lui aussi au niveau du survol... Mais ça je pense pouvoir le régler...

================= EDIT =======================
J'ai viens de tester ça, plus logique, mais là le curseur reste cette fois bloqué en mode "Aller" une fois que j'ai cliqué droit.

Code:
 
//______________Clic DROIT normal = passe au mode suivant_________________
  else if (button == eMouseRight)
  {
    mouse.DisableMode(eModeSortir);
    player.ActiveInventory = null;
    mouse.SelectNextMode();  
  }
}
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 16:59

Jorkz a écrit:

Mais comme je disais le problème ensuite c'est la gestion de mon clic droit, car là il reste bloqué dans la zone voulue en mode "Sortir"... et c'est à ce niveau que je ne m'en sors plus, je ne sais pas où lui dire de désactiver ce mode si un clic droit est fait.

Attention, dans le code que tu viens de poster, le deuxième else ne s'activera pas si on clique avec le bouton droit (car il signifie, "sinon, si le bouton utilisé n'est pas le clic droit..."). Il faut juste, là aussi, basculer le mode "Sortir" vers le mode "Aller", si on utilise le clic droit :
Code:
  else if (button == eMouseRight)
  {
    if (mouse.Mode == eModeSortir) mouse.Mode = eModeAller; //Ajouter cette ligne au code initial
    player.ActiveInventory = null;
    mouse.SelectNextMode();  
  }

Le mode de curseur actuel sera donc redéfini sur le mode "Aller", avant de passer au mode de curseur suivant.

Jorkz a écrit:

Et deuxième problème, moins grave cependant mais pas tip top niveau gamedesign, c'est que de la même manière lorsqu'un objet d'inventaire est en curseur il se change lui aussi au niveau du survol... Mais ça je pense pouvoir le régler...

En fait, la fonction IsModeEnabled n'est pas forcément très adaptée, car je crois qu'elle renvoie quasiment toujours true chez toi. En gros, elle vérifie non pas si le mode en question est utilisé, mais plutôt s'il est utilisable. Il convient donc probablement de remplacer tous les "if (mouse.IsModeEnabled(*MODE*))" par "if (mouse.Mode == *MODE*)" comme ici par exemple :
Code:
// comportement survol RIEN____________________________________________________

if ((hsurvol == hotspot[0])||(osurvol == null)||(csurvol == null))
  {
    if (mouse.Mode == eModeSortir){
      mouse.Mode = eModeAller;
    }
    if (mouse.Mode == eModeAller)
    {
      mouse.ChangeModeGraphic(eModeAller,1);
    }  
    if (mouse.Mode == eModeRegarder)
    {
      mouse.ChangeModeGraphic(eModeRegarder,3);
    }  
    if (mouse.Mode == eModeMain)
    {
      mouse.ChangeModeGraphic(eModeMain,5);
    }
    if (mouse.Mode == eModeParler)
    {
     mouse.ChangeModeGraphic(eModeParler,7);
    }  
  }

// comportement survol SORTIES DE ROOM__________________________________________

if ((hsurvol != hotspot[0])&&(mouse.Mode == eModeAller)) //C'est ici que c'est le plus important dans le cas qui nous intéresse présentement
  {
    if(hsurvol.GetProperty("Sortie")== true)
    {
      mouse.Mode = eModeSortir;
    }
    if((hsurvol.GetProperty("Sortie")== false)||(hsurvol.GetProperty("Choopa")== true))
    {
      mouse.ChangeModeGraphic(eModeAller,1);
    }
  }

Ça marche chez moi mais j'espère ne rien avoir oublié.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 17:13

Yes tu assures !! Ça m'a tout l'air de fonctionner nickel chrome !!

C'était (encore) une grosse confusion de ma part sur ces histoires de utilisé/utilisable, comme tu disais.

J'ai dû par ailleurs tout remplacer plus bas pour le reste.

Merci beaucoup !! cool
Revenir en haut Aller en bas
valoulef
Délégué de la tasse bleue
Délégué de la tasse bleue
valoulef


Nombre de messages : 1791

Age : 35

Localisation : Condate

Date d'inscription : 01/08/2011


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 17:38

Jorkz a écrit:
C'était (encore) une grosse confusion de ma part sur ces histoires de utilisé/utilisable, comme tu disais.

Oui, je me rappelle avoir fait aussi des confusions là dessus à mes débuts. C'est aussi pour cette raison que le curseur ne passait plus en mode sortir avec cette solution :
Code:
//______________Clic DROIT normal = passe au mode suivant_________________
  else if (button == eMouseRight)
  {
    mouse.DisableMode(eModeSortir);
    player.ActiveInventory = null;
    mouse.SelectNextMode();  
  }
}

L'appel de la fonction "mouse.DisableMode(eModeSortir)" désactive le mode en question, ce qui fait qu'il ne peut plus être utilisé avant d'être réactivé via "mouse.EnableMode". C'est très rarement une bonne idée d'avoir recours à ces fonctions qui me semblent avoir un rôle assez marginal (ça pourrait éventuellement être utile, par exemple, si dans une room donnée tu voulais empêcher le joueur d'utiliser un des curseurs).
Et donc c'est cette propriété précise que vérifie la fonction IsMouseEnabled (qui passe donc de true à false et inversement en faisant appel aux fonctions citées plus haut).
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 665

Age : 39

Localisation : Montpellier

Date d'inscription : 16/07/2006


Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif EmptyVen 18 Fév 2022 - 18:43

Très formateur cependant de se confronter à ce genre de trucs...
Quand j'attaquerai la carte générale qui mène a telle ou telle room ça me sera assez utile je pense !
Revenir en haut Aller en bas
Contenu sponsorisé





Mode "aller" sur un hotspot actif ou inactif Empty
MessageSujet: Re: Mode "aller" sur un hotspot actif ou inactif   Mode "aller" sur un hotspot actif ou inactif Empty

Revenir en haut Aller en bas
 
Mode "aller" sur un hotspot actif ou inactif
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: