J'ai un événement SF Input (Event())
qui représente la clé de la touche d'espace. J'ai quelques gravity
et chaque fois que l'utilisateur relâche la clé, il doit basculer entre 1
et (-1)
. Alors je l'ai fait:Commutateur de valeur Yampa
gravity <- accumHold 1 <<< (arr $ tag (*(-1))) <<< keyUp SDLK_SPACE -< ev
Mais ce qu'il fait est la valeur de commutation et vers le bas sur repeate jusqu'à ce que j'appuie sur la touche. Je n'ai aucune idée d'où j'ai mal fait là-bas.
La source complète est trouvée here, peut-être que quelqu'un peut m'aider.
Je suis désolé, mais votre solution 'dir x' semble conduire à une fuite d'espace avec une boucle éternelle (je veux dire, 100% CPU et ma RAM est mangée). Je n'ai pas considéré Netwire, ça marche bien avec SDL ou dois-je réécrire cette partie? – Lanbo
Il semble que travailler sur Netwire pourrait prendre des années à cause du manque d'adaptation et de documentation ... – Lanbo
Cela semble fonctionner pour Yampa: 'dir x = accumHold x <<< (arr $ tagWith nier) <<< edge <<
Lanbo