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

Partagez | 
 

 [résolu]Un seul curseur unique

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Thebroch
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 474

Age : 16

Localisation : Vendée

Date d'inscription : 23/07/2015


MessageSujet: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 11:08

Bonjour je suis de retour et j'ai encore des problèmes voila je voudrais que mon jeu ne possède qu'un seul curseur qui me servirai a me déplacer et qui changerait quand je passerait sur un personnage ou une hotspots pour un curseur approprier voila j'ai fais un petit exemple :

Voila ce triangle c'est mon curseur (pancher) et le rond rouge est une zone interactive et l' œil est mon curseur une fois sur la zone .

_________________
Des amateurs... C'est ce que nous sommes tous, des amateurs, on ne vit jamais assez longtemps pour être autre chose.
Charlie Chaplin,
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 11:15

Deux templates:
http://adventuregamestudio.fr-bb.com/t2187-templateinterface-a-deux-clics-bass
Ou encore ce genre de script (à customiser):
Code:
function repeatedly_execute()
{
  mx = mouse.x;
  my = mouse.y;
  // Mouse modes
  if (DefaultMouseBehavior) { //Just a bool to deactivate this during MiniGame
    if (player.ActiveInventory == null) {
      if (GetLocationType(mx, my) == eLocationNothing) {
        if (mouse.Mode != eModeWalkto) {
          mouse.Mode = eModeWalkto; // WalkTo mode if nothing under mouse
        }
      } else {
        if (mouse.Mode != eModeInteract) {
          mouse.Mode = eModeInteract;
        }
      }
      if (InventoryItem.GetAtScreenXY(mx, my)!= null) { //no else here
        if (mouse.Mode != eModeInteract) {
          mouse.Mode = eModeInteract; //Take inventory item
        }
      }
    }
}

function on_mouse_click(MouseButton button) // called when a mouse button is clicked. button is either LEFT or RIGHT
{
  int x = mouse.x;
  int y = mouse.y;
  if (IsGamePaused() == 1) {
    // Game is paused, so do nothing (ie. don't allow mouse click)
  } else if (button == eMouseLeftInv) {
    InventoryItem *item = InventoryItem.GetAtScreenXY(x, y);
    if (item != null) {
      if (player.ActiveInventory != null) {
        player.Say("I can't combine these items.");
      } else {
        player.ActiveInventory = item ;
      }
    }
  } else if (button == eMouseRightInv) {
    if(player.ActiveInventory != null) {
      player.ActiveInventory = null;
    } else {
      InventoryItem *item = InventoryItem.GetAtScreenXY(x, y);
      if (item != null) {
        LookAtInvItem(item);
      }
    }
  } else if (button == eMouseLeft) {
      ProcessClick(x, y, mouse.Mode); //Left click on thing launch interaction
  } else if (button == eMouseRight) {// right-click, so look at spot, and loss active.inventory
    if(player.ActiveInventory != null) {
      player.ActiveInventory = null;
    } else {
      ProcessClick(x, y, eModeLookat); //Look at things with right click
    }
  }
}

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
Thebroch
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 474

Age : 16

Localisation : Vendée

Date d'inscription : 23/07/2015


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 11:42

Merci Billbis je pense plutot que je vais prendre le script mais ou l’insérer et quelle sont les parties a customisé ?

_________________
Des amateurs... C'est ce que nous sommes tous, des amateurs, on ne vit jamais assez longtemps pour être autre chose.
Charlie Chaplin,
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 19:06

Sinon, j'utilise cette solution qui fonctionne très bien aussi sourire

Tu crées un cursor pour la fonction Regarder. Puis tu mets dans ta room le code suivant (n'oublie pas de le créer en allant sur l'event de ton hotspot. Je précise car sinon tu auras un blocage du script) :

Code:
function NomHotspot_MouseMove()
{
mouse.SaveCursorUntilItLeaves();
mouse.Mode = eModePerso;
mouse.ChangeModeGraphic(eModePerso, 436); // à personnaliser évident :)
mouse.ChangeModeHotspot(eModePerso, 30, 4); // pareil
}

Mais en fait je me demande si un simple :
Code:
function NomHotspot_MouseMove()
{
mouse.Mode = eModePerso;
}
...ne fonctionnerai pas dans ton cas.

Mon script est dans le cas où quelque soit le curseur de la souris (regarder, marcher, parler, etc.) il devient eModePerso sur le hotspot choisi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Thebroch
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 474

Age : 16

Localisation : Vendée

Date d'inscription : 23/07/2015


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 21:37

Merci sa fonctionne mais  comment faire pour que quand la souris quitte la hotspot le curseur repasse a celui d'avant ?

_________________
Des amateurs... C'est ce que nous sommes tous, des amateurs, on ne vit jamais assez longtemps pour être autre chose.
Charlie Chaplin,
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 21:56

Normalement c'est exactement ce que fait le 1er code que je t'ai donné clin d\\\\'oeil
C'est le but de mouse.SaveCursorUntilItLeaves(); sourire
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Thebroch
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 474

Age : 16

Localisation : Vendée

Date d'inscription : 23/07/2015


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 22:27

Je pense que tu n'as pas bien compris mon objectif après que  le curseur soit ressortit du cercle il devrait revenir a l’état de triangle

_________________
Des amateurs... C'est ce que nous sommes tous, des amateurs, on ne vit jamais assez longtemps pour être autre chose.
Charlie Chaplin,
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
hanakin
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 488

Age : 51

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]Un seul curseur unique   Sam 22 Aoû 2015 - 22:45

Salut thebroch

Moi j'utilise cette commande je ne sais pas si elle te conviendra

changement de curseur lors du survol d'un hotspot
dans les propriete du hotspot concerner click sur
Mouse Moves over hotspot
et dans la fonction j'ai ça

Code:
function hHotspot2_MouseMove()
{
mouse.SaveCursorUntilItLeaves();  //sauve l'apparence du curseur avant survol
 Mouse.Mode=eModebas ;  //affiche le curseur perso
}
et normalement lorsque tu sort du hotspot le curseur doit redevenir comme avant

Finalement ça revient exactement à ce que t'as dit Chefgeorge... Sauf que je fais une sauvegarde de curseur juste avant chaque modif et a chaque fois sur chaque hotspot

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu]Un seul curseur unique   Dim 23 Aoû 2015 - 6:02

Thebroch a écrit:
Je pense que tu n'as pas bien compris mon objectif après que  le curseur soit ressortit du cercle il devrait revenir a l’état de triangle
Si, si ^^
Si ça ne fonctionne pas, c'est que le problème vient d'autre part.
Quelle taille environ fait ton hotspot ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Billbis
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue


Nombre de messages : 1275

Date d'inscription : 10/05/2012


MessageSujet: Re: [résolu]Un seul curseur unique   Dim 23 Aoû 2015 - 8:35

Cher Thebroch,

je veux bien t'aider à faire l'interface de tes rêves, et les autres aussi certainement, mais si tu veux qu'on te donne plus de détail, il faut toi aussi nous en dire beaucoup plus. Notamment:

Ce que tu souhaite faire:
1 - quelle version d'AGS utilise tu ? Le language de script a beaucoup changer entre les 3.3.x et les 3.4.x.
2 - quel template utilise tu pour l'instant ?
3 - qu'y a t'il dans ton GlobalScript dans le repeatedly_execute() et dans le on_mouse_click(MouseButton button) ?
4 - veux tu faire un jeu avec 1 seul ou 2 clics ? Seulement le clic gauche ou clic gauche + clic droite ?
5 - combien de mode de souris souhaite-tu ? Marcher ? Regarder ? Interagir ? Parler ? Ramasser ? Pousser ? Frapper ? Changer de piéce ? etc.
6 - quel est le mode "normal" lorsqu'aucun objet, hotspot, personnage n'est sous la souris ?
7 - quel mode(s) doit (doivent) être choisi lorsque la souris survol un hotspot ?
8 - quel mode(s) doit (doivent) être choisi lorsque la souris survol un objet ?
9 - quel mode(s) doit (doivent) être choisi lorsque la souris survol un personnage?
10 - as-tu un inventaire ? comment souhaite tu gérer l'inventaire avec la souris ? Comment sélectionne-t-on un objet d'inventaire ? Comment le désélectionne-t-on ? Peut-on combinner des objets d'inventaires ? Peut-on les reguarder ? Comment ?

Pourquoi ça ne marche pas :
On t'a donner une astuce, tu l'as mise en pratique, et ça ne marche pas. Certes mais on veux en savoir plus:
1 - le jeu refuse-t-il de compiler ? Quel est le message d’erreur ?
2 - le jeu crash-t-il ? Quel est le message d’erreur ?
3 - je jeu fonctionne bien, mais n'a pas exactement le comportement voulu ? Quel est le comportement actuel ? Quel est le comportement souhaité ?

Bon courage !

_________________
Mon petit DevBlog
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nothingaboutthedog.blogspot.fr/
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu]Un seul curseur unique   Dim 23 Aoû 2015 - 10:08

Oui grand sourire

J'ajoute aussi qu'il serait bien de savoir si tu as fait tous les tutos de Shai-la, sur le forum. Parce que ça aide quant même beaucoup ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Thebroch
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 474

Age : 16

Localisation : Vendée

Date d'inscription : 23/07/2015


MessageSujet: Re: [résolu]Un seul curseur unique   Dim 23 Aoû 2015 - 18:57

Oula beaucoup de truc a dire , donc deja le probleme est resolu grace a la ligne d'hanakin :
Code:
mouse.SaveCursorUntilItLeaves();
 
je possède la version 3.3 et mon problème étais que mon curseur de base était celui de marche et quand il passait sur ma hotspot il passais a celui d'interaction mais une fois ressorti il ne redevenais pas celui de marche sinon tout compilais bien le jeux ne crashais pas . Et oui j'ai suivi les tuto mais pas mal des commandes sont devenus obsolète perplexe .

_________________
Des amateurs... C'est ce que nous sommes tous, des amateurs, on ne vit jamais assez longtemps pour être autre chose.
Charlie Chaplin,
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue


Nombre de messages : 2430

Date d'inscription : 01/08/2006


MessageSujet: Re: [résolu]Un seul curseur unique   Lun 24 Aoû 2015 - 2:05

J'ai pris l'initiative de passer le sujet en "résolu".

Thebroch a écrit:
donc deja le probleme est resolu grace a la ligne d'hanakin :
Code:
mouse.SaveCursorUntilItLeaves();
Juste par souci de justice, chef avait aussi proposé cette ligne dans son code clin d\\\\'oeil Mais peut-être que l'interaction avec les lignes suivantes dans ton projet masquait son effet.
 
Thebroch a écrit:
Et oui j'ai suivi les tuto mais pas mal des commandes sont devenus obsolète perplexe .
Oui ça c'est un problème. On attend encore quelqu'un de motivé pour reprendre les tutos à zéro (ou presque) avec la version la plus récente d'AGS.

_________________
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
hanakin
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 488

Age : 51

Localisation : Angers

Date d'inscription : 12/09/2012


MessageSujet: Re: [résolu]Un seul curseur unique   Lun 24 Aoû 2015 - 8:24

J'avais effectivement deja rendu a Cesar ce qui est a Cesar  grand sourire

Hanakin a écrit:
Finalement ça revient exactement à ce que t'as dit Chefgeorge... Sauf que je fais une sauvegarde de curseur juste avant chaque modif et a chaque fois sur chaque hotspot

_________________
Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. (Spock)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://dinomania.chez-alice.fr/index.htm
Thebroch
Cliqueur Amateur
Cliqueur Amateur


Nombre de messages : 474

Age : 16

Localisation : Vendée

Date d'inscription : 23/07/2015


MessageSujet: Re: [résolu]Un seul curseur unique   Lun 24 Aoû 2015 - 10:50

En effet Kitai a raison , chefgeorges avait bien mis cette ligne dans son post mais comme tu l'as dis les lignes suivantes devais sans doute masquez sont effet car  mon code se résume bêtement a ça :
Code:
function hHotspot4_MouseMove()
{
mouse.SaveCursorUntilItLeaves(); 
mouse.Mode = eModeInteract;
}

Chefgeorges pouras tu seulement me pardonner un jour   pleure ?

_________________
Des amateurs... C'est ce que nous sommes tous, des amateurs, on ne vit jamais assez longtemps pour être autre chose.
Charlie Chaplin,
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
chefgeorges
Cliqueur Emérite
Cliqueur Emérite


Nombre de messages : 500

Date d'inscription : 01/02/2008


MessageSujet: Re: [résolu]Un seul curseur unique   Lun 24 Aoû 2015 - 11:38

C'est pour ça que je boudais ce topic... lol ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://instagram.com/ichefgeorges
Contenu sponsorisé




MessageSujet: Re: [résolu]Un seul curseur unique   Aujourd'hui à 5:52

Revenir en haut Aller en bas
 
[résolu]Un seul curseur unique
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Joe, le seul, l'unique
» [Résolu] Changer de curseur selon ce qu'il survole
» [résolu] Afficher le curseur de la souris en plein écran
» Le seul et unique Rambocop
» J'ai l'honneur de vous présenter le seul, l'unique : PetitBlob :D

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: