Je pense que je besoin d'incitation sur la façon de faire, je ne suis pas vraiment connu en général la mécanique de jeu de plateforme ...mécanique de saut d'obstacles dans Netwire
Quoi qu'il en soit, mon chiffre joueur a ce jusqu'à maintenant:
movePlayer = proc p -> do
let gravity = 100
sx <- keySpeed GLFW.LEFT GLFW.RIGHT 500 -<()
dy <- integralLim_ collision 0 -< (gravity, p)
dx <- integralLim_ collision 0 -< (sx, p)
returnA -< (sx, sy)
where
keySpeed k1 k2 s = onKey k1 (-s) <|> onKey k2 s <|> pure 0
collision = undefined -- collision with the world
Avec gravity
, l'objet joueur tombe lentement jusqu'à ce qu'il y ait quelque chose sur quoi se tenir. Bien sûr, l'étape suivante consiste à ajouter un saut, dans une courbe sin
... quel est un moyen simple de l'ajouter en utilisant netwire
? Un qui peut également avoir une détection de collision supplémentaire ajouté?
Je n'ai aucune idée par où commencer avec celui-ci.
Impossible de vraiment faire fonctionner 'pos '... qu'est-ce que c'est dans la notation par flèches? – Lanbo
@LambdaDusk: Désolé, mon échec. J'ai oublié la position/vitesse initiale. Réponse éditée – ertes
Cela fonctionne si je garde la touche espace enfoncée. Si je tape juste, rien ne se passe, et le garder enfoncé fait voler le sprite. – Lanbo