J'ai une toile de 800x600 dans une fenêtre de 300x300. Quand j'appuie sur une certaine touche, je veux que la toile bouge dans cette direction.
Je l'ai fait dans le code de la fenêtre derrière:Mouvement saccadé dans WPF
protected override void OnKeyDown(KeyEventArgs e) { base.OnKeyDown(e); Key keyPressed = e.Key; if (keyPressed == Key.W) { gcY += 5; } if (keyPressed == Key.S) { gcY -= 5; } if (keyPressed == Key.A) { gcX += 5; } if (keyPressed == Key.D) { gcX -= 5; } gameCanvas.RenderTransform = new TranslateTransform(gcX, gcY); }
Eh bien, cela fonctionne, mais le mouvement est saccadé. Et si je maintiens une touche, W par exemple, alors il fait une pause d'une fraction de seconde, avant de se déplacer.
Y a-t-il un moyen de rendre le mouvement plus fluide et de supprimer la pause lorsque vous maintenez une touche enfoncée?
Merci.
Salut, merci. Mais savez-vous pourquoi cela fonctionne et la façon dont je l'ai eu avant ne le fait pas? – jkidv