Ho una tela con alcune linee disegnate dal movimento del mouse. Voglio che la linea duri solo pochi secondi prima di rimuoverla. Un po 'come roteare un nastro intorno a dove ha una lunghezza impostata. Sto usando lineTo per disegnare le linee nella tela. Ho fatto riferimento a un po 'del codice da qui.Rimozione della tela di comando javascript con linee intersecanti
Il problema
posso cancellare la linea utilizzando clearRect(), ma questo cancella letteralmente tutto e il problema è che se la linea interseca cancella l'area di intersezione troppo. qui è il mio violino clic e trascinare all'interno della scatola in basso a destra:
chiaro rect mi avrebbe dato questo:
In sintesi
clearRect solo salviette tutto, vuoi "dinamicamente" tracciare la linea in modo che abbia una vita. E non posso per la vita di me trovare qualcosa per farlo ...
Qualsiasi aiuto sarebbe fantastico !!!!
per la cronaca: non dovresti mai fare qualcosa del genere: 'brush = eval (" new "+ BRUSHES [0] +" (context) ");' eval è in generale cattivo, non c'è quasi nulla che tu non possa fare senza usare eval. l'esempio sopra è equivalente a 'brush = BRUSHES [0] (context)' – zaphod1984
yeah ho fatto riferimento all'origine da qualche parte, dove c'erano molti pennelli diversi. C'è un sacco di pulizia del codice e riscrittura che sto facendo. Eval ha salvato il mio bacon un paio di volte che devo dire .. – Alex