Domanda

Sto usando WinForms C # per creare un generatore di livelli per il mio gioco XNA. Ho una griglia di tessere che puoi dipingere con uno strumento Matita, come in MSPaint. Il problema è che quando si trascina il mouse velocemente (ish) per disegnare una linea, le tessere vengono saltate.

Ho provato a usare un approccio che ho visto su Google dicendo di generare un filo per fare il dipinto, ma non mi è sembrato utile.

Qualche idea?

È stato utile?

Soluzione

OTTOMH, puoi tenere traccia dell'ultimo punto in cui si trovava il mouse e nel tuo gestore MouseMove puoi assumere un movimento lineare e determinare tutte le tessere tra l'ultimo punto e il punto corrente. Suppongo che probabilmente non avrai mai abbastanza eventi MouseMove da attivare per gestire il caso in cui l'utente sposta il mouse molto rapidamente.

Altri suggerimenti

Impressionante! ha funzionato perfettamente.

Ho usato l'algoritmo di linea DDA da qui

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

per disegnare la linea.

Grazie !!

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top