Question

J'utilise WinForms C # pour créer un constructeur de niveaux pour mon jeu XNA. J'ai une grille de carreaux que vous pouvez peindre avec un outil Crayon, comme dans MSPaint. Le problème est que lorsque vous faites glisser la souris rapidement (ish) pour dessiner une ligne, les tuiles sont ignorées.

J'ai essayé d'utiliser une approche que j'ai vue sur Google, qui consiste à créer un fil pour peindre, mais cela n'a pas semblé aider.

Des idées?

Était-ce utile?

La solution

OTTOMH, vous pouvez garder trace du dernier point de la souris et dans votre gestionnaire MouseMove, vous pouvez supposer un mouvement linéaire et déterminer toutes les mosaïques entre le dernier point et le point actuel. À mon avis, il est peu probable que le nombre d'événements MouseMove à déclencher soit suffisant pour traiter le cas où l'utilisateur déplace sa souris très rapidement.

Autres conseils

Génial! a parfaitement fonctionné.

J'ai utilisé l'algorithme de ligne DDA à partir d'ici

http://www.cs.unc.edu/ ~ mcmillan / comp136 / Lecture6 / Lines.html

pour tracer la ligne.

Merci !!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top