[PSDK] Utiliser les touches du clavier (23.5)

  • 15 Réponses
  • 284 Vues
*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« le: 19 mai 2018, 18:10:52 »
Bonjour,

J'ai peut être rêvé mais il me semble avoir vu quelque part qu'on peut utiliser les touches du clavier pour appeler des events communs ?
Si c'est bien vrai, comment puis-je faire ?

Aussi, j'aimerais exécuter un enchaînement d'actions tant que le joueur n'appuie pas sur une touche. (Donc une boucle "Tant que le joueur n'appuie pas sur une touche ou click")

Merci !
 

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #1 le: 19 mai 2018, 19:19:36 »
Tu as Input.trigger?(symbol) qui est là pour ça, tu insères juste une condition scriptée . Je t'invite à regarder la doc du LiteRGSS onglet Input ( https://psdk.pokemonworkshop.com/litergss )
 
Utilisateurs ayant remercié ce post : Splifingald

*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #2 le: 19 mai 2018, 19:47:28 »
Super merci, et si je veux détecter si une touche est pressée quelque soit la touche. (Juste pour attendre que le joueur fasse quelque chose) ?
 

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #3 le: 19 mai 2018, 20:01:48 »
bah c'est le même principe : pour la boucle tu fais une loop branch avec un break si touche pressée et une condition if Input.trigger?(symbol)  pour détecter si le joueur appuie sur une touche.
 
Utilisateurs ayant remercié ce post : Splifingald

*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #4 le: 20 mai 2018, 16:09:47 »
Bon en fait je comprend pas comment ça marche, je comprend pas la doc... Je veux juste savoir ce que je dois mettre dans le script de ma condition pour détecter si la touche X est pressée...
J'ai essayé :

Input.trigger?(X)
Input.trigger?(sf::Keyboard::X)
Input.trigger?(Integer(sf::Keyboard::X)

// Dans les deux cas précédents ça dit que le jeu ne reconnais pas "sf"

Input.trigger?(Keyboard::X)
Input.Keyboard.press?(X)
Keyboard.press?(X)

// Là j'obtiens undefined method "Keyboard"

Input.press?(X)



Et rien ne marche, je ne m'y connais vraiment pas... Mais je me doute que c'est tout bête...
« Modifié: 20 mai 2018, 16:11:52 par Splifingald »
 

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #5 le: 21 mai 2018, 15:16:06 »
Un symbol, tu as :A, :B et d'autres qui sont référencés dans la doc normalement le symbol :X existe (après il est réutilisé pour d'autres touches) mais tu peux modifier Keyboard pour avoir les touches que tu veux et le undefined method c'est normal puisque Keyboard appartient au module Input donc Input::Keyboard::X doit marcher

*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #6 le: 21 mai 2018, 19:19:56 »
Bon j'ai bien essayé ça mais le "Input.trigger?(Input::Keyboard::X)" ne répond qu'à la touche C du clavier (ou Entrée aussi) j'ai essayé de remplacer le "X" par "E" ou "R" mais ça ne change rien, ça ne répond qu'à la touche C

EDIT 1 : Ce serait plus simple si on me disait directement ce que je dois mettre là  :<  :


EDIT 2 : Cela dit en passant, si tu sais assigner un event commun à un objet, ce serait cool aussi :p (j'ai essayé mais ça me donne toujours ça "message de papa : chaque chose en son temps" )
« Modifié: 21 mai 2018, 19:25:47 par Splifingald »
 

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #7 le: 21 mai 2018, 19:59:29 »
Bon en fait je ne sais pas pourquoi, mais il faut utiliser Input::Keyboard.press? (il existe pas de méthode trigger? désolé) du coup c'est "Input::Keyboard.press?(Input::Keyboard::X)" et pour les objets il faut utiliser un évent commun.
 
Utilisateurs ayant remercié ce post : Splifingald

*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #8 le: 21 mai 2018, 20:05:16 »
Ok merci je teste ça tout de suite.

Justement, je ne sais pas comment activer l'event commun à partir de l'objet
 

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #9 le: 21 mai 2018, 20:38:33 »
Bon en fait sinon il faudrait modifier les Inputs::Keys pour se servir de Input.trigger? grâce aux valeurs décimales des touches.  Pour lier un évent commun à un objet, j'ai pas vraiment d'idée sans modifier les scripts ...

Edit : tu as les attaques mais je ne sais pas si ça t'intéresse ainsi que les "Autres données".
« Modifié: 21 mai 2018, 20:45:35 par yyyyj »
 

*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #10 le: 21 mai 2018, 21:09:10 »
J'ai réussi à me débrouiller avec .press? me reste à trouver comment lier mon event à un objet.

Merci en tout cas !
 

*

Hors ligne Bentoxx

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #11 le: 21 mai 2018, 21:30:07 »
Si ça peut t'aider =)


Le Discord c'est ICI
 
Utilisateurs ayant remercié ce post : Splifingald, yyyyj

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #12 le: 21 mai 2018, 21:36:36 »
bah après on peut voir ça dans Input::Keys mais utilise press? si tu veux pas t'embêter

*

Hors ligne Splifingald

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #13 le: 21 mai 2018, 21:48:34 »
Merci ! Mais j'ai réussi avec les indications de yyyyj ! (Et ça fonctionne vachement bien maintenant)
Le tout en utilisant press?

Au lieu de mettre un event commun dans un objet j'ai fait ça :

Et j'active l'interrupteur 155 dès le début du jeu et dans la description de mon objet j'indique "Appuyer sur M pour utiliser"

ça fonctionne mais j'ai peur que ça tourne tout le temps en fond et donc ne soit pas très bon pour les performances
EDIT : ça ne s'active pas en combat ou pendant les dialogues (donc c'est encore mieux)

EDIT 2 : Waaaaah mais en fait ça peut être utilisé pour faire plein de choses... On peut faire des interfaces complètes rien qu'avec ça, changer l’apparence du héro pour mettre un système de monture.... C'est magique. Je sens que je vais sortir les montures Tauros et Lokhlass dans Pokémon Mistral !
« Modifié: 21 mai 2018, 21:56:10 par Splifingald »
 

*

En ligne AEliso19

[PSDK] Utiliser les touches du clavier (23.5)
« Réponse #14 le: 21 mai 2018, 22:13:22 »
Les poké-monture c'est le feu ! :P
 
Utilisateurs ayant remercié ce post : Splifingald, yyyyj