| Associer une touche a une action | |
|
|
Auteur | Message |
---|
Thebroch Cliqueur Emérite
Nombre de messages : 603
Age : 24
Localisation : Lorient
Date d'inscription : 23/07/2015
| Sujet: Associer une touche a une action Mer 6 Jan 2016 - 18:40 | |
| Bonsoir, c'est tout bêtes comme affaire j'aimerais me servir du clavier pour actionné une hotspot j'ai regardé dans le global script mais ya pas de ligne dédié a ça comme pour modifier les touches du clavier avez vous une méthode ? un plugin ? _________________ Le café au bois ça consiste à moudre une cafetière et à la mettre dans des copeaux de bois.
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 18:52 | |
| Selon le modèle de jeu avec lequel tu commences, la fonction on_key_press sera déjà présente ou non dans le global script. C'est là que tu peux gérer ce qui se passe lorsque le joueur appuie sur une touche. _________________ 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 ! |
|
| |
Thebroch Cliqueur Emérite
Nombre de messages : 603
Age : 24
Localisation : Lorient
Date d'inscription : 23/07/2015
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 19:52 | |
| Effectivement j'ai cette fonctions , comment on la configure ? _________________ Le café au bois ça consiste à moudre une cafetière et à la mettre dans des copeaux de bois.
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 20:31 | |
| Un petit exemple vaut mieux qu'un long discours : - Code:
-
function on_key_press(eKeyCode touche) { if (touche == eKeySpace) Display("Vous venez d'appuyer sur espace, comme c'est original..."); else if (touche == eKeyP) Display("Vous venez d'appuyer sur P, quelle folie !"); } _________________ 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 ! |
|
| |
Thebroch Cliqueur Emérite
Nombre de messages : 603
Age : 24
Localisation : Lorient
Date d'inscription : 23/07/2015
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 20:49 | |
| Et du coup comment je remplace display par quoi pour la faire interagir avec une hotspots ? _________________ Le café au bois ça consiste à moudre une cafetière et à la mettre dans des copeaux de bois.
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 20:59 | |
| Ça ça dépend de ce que tu veux faire précisément. Tu veux faire quoi ? Tu as un hotspot non activé auparavant que tu veux activer après la pression sur la touche ? Dans ce cas ce serait une commande comme hZone.Enabled = true; _________________ 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 ! |
|
| |
Thebroch Cliqueur Emérite
Nombre de messages : 603
Age : 24
Localisation : Lorient
Date d'inscription : 23/07/2015
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 21:52 | |
| Je t ai fais un petit dessin _________________ Le café au bois ça consiste à moudre une cafetière et à la mettre dans des copeaux de bois.
|
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 22:15 | |
| dans les proprietees du walkon tu rajoute une condtion touche E du genre function hHotspot1_WalkOn() { if (touche == eKeyE) { cEgo.changeRoom(N°,X,Y); } } comme te l'as indiquer kitai plus haut _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 22:25 | |
| - hanakin a écrit:
- dans les proprietees du walkon tu rajoute une condtion touche E
du genre
function hHotspot1_WalkOn() { if (touche == eKeyE) { cEgo.changeRoom(N°,X,Y); } }
comme te l'as indiquer kitai plus haut Je n'ai pas indiqué ça comme ça, le code que tu as donné ne marchera d'ailleurs pas J'ai l'impression que ce que tu veux Thebroch, c'est que lorsque le joueur se trouve sur la zone en question, il soit téléporté s'il appuie sur la touche E. Pour faire ça, il faut utiliser une région, et non un hotspot. Dans la fonction de l'événement While player stands on region, tu peux directement utiliser la fonction IsKeyPressed, ce sera plus simple (même si du coup ça téléportera aussi si le joueur maintient la touche enfoncée avant même d'arriver sur la région, mais c'est pas grave je pense). _________________ 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 ! |
|
| |
Thebroch Cliqueur Emérite
Nombre de messages : 603
Age : 24
Localisation : Lorient
Date d'inscription : 23/07/2015
| Sujet: Re: Associer une touche a une action Mer 6 Jan 2016 - 22:55 | |
| J'ai dis téléporter mais j ai dit sa pour illustrer sa pourrais être pour ramasser un item ou je ne sais quoi , mais du coup tu penses que sa pourrais quand même fonctionné avec une région ? _________________ Le café au bois ça consiste à moudre une cafetière et à la mettre dans des copeaux de bois.
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Associer une touche a une action Jeu 7 Jan 2016 - 0:20 | |
| Quelle que soit l'action que tu veux déclencher, si elle doit survenir seulement lorsque le perso se trouve à un certain endroit dans la pièce, alors de toute façon tu devras utiliser une région, et l'événement While player stands on region me semble tout indiqué. _________________ 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 ! |
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: Associer une touche a une action Jeu 7 Jan 2016 - 16:11 | |
| Effectivement - Kitai a écrit:
- Je n'ai pas indiqué ça comme ça, le code que tu as donné ne marchera d'ailleurs pas clin d\\\\'oeil
C'etait juste un exemple c'est pour ça que j'avais mis "du genre" je l'ai meme pas testé _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
Thebroch Cliqueur Emérite
Nombre de messages : 603
Age : 24
Localisation : Lorient
Date d'inscription : 23/07/2015
| Sujet: Re: Associer une touche a une action Jeu 7 Jan 2016 - 19:33 | |
| Ho merci les gars ! La je tient quasiment toutes les bases de mon gameplay je vais pourvoir progres de ouf ! _________________ Le café au bois ça consiste à moudre une cafetière et à la mettre dans des copeaux de bois.
|
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: Associer une touche a une action Jeu 7 Jan 2016 - 19:55 | |
| Si tu a besoin d'inspiration, voici le code que j'utilise pour Topus. Comme Kitai le propose, j'utilise des régions. (une seule fonction dans chaque script de room) - Code:
-
function on_key_press(eKeyCode keycode) { if (keycode == eKeySpace && !gDialog.Visible && !gMenu.Visible) { Region* r = Region.GetAtRoomXY(player.x, player.y); if(r.ID == 1) { player.ChangeRoom(2, 338, 407); } else if (r.ID == 2) { player.Phylactere("A beautiful nude statue."); Wait(waitTime); player.Phylactere("What an inspiring vision!"); } else if (r.ID == 3) { player.Phylactere("Some empty urns."); } else if (r.ID == 4) { player.Phylactere("If the devs had enough time, there would have been a puzzle here,"); Wait(waitTime); player.Phylactere("that will have involved a nasty Cerberus."); Wait(waitTime); player.Phylactere("Thank god, they ran out of time."); } else if (r.ID == 5) { player.Phylactere("\"Beware of the nasty dog.\""); } ClaimEvent(); } }
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Associer une touche a une action Ven 8 Jan 2016 - 3:02 | |
| Ah oui, je proposais de vérifier la touche pressée dans la fonction region_Standing et toi Billbis tu vérifies la région sous les pieds du perso dans la fonction on_key_press : deux façons inverses/complémentaires de faire la même chose ! À la différence près que ta solution ne déclenchera pas le code si le joueur maintient la touche avant d'arriver sur la région, donc je pense qu'elle est préférable pour ça. _________________ 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 ! |
|
| |
Contenu sponsorisé
| Sujet: Re: Associer une touche a une action | |
| |
|
| |
| Associer une touche a une action | |
|