Zeichnen auf Leinwand und mehrere Malobjekte

8

Ich versuche eine Anwendung zu erstellen, bei der der Benutzer entweder das Bild verwischen oder auf dem Bildschirm malen kann (der Benutzer kann beides auf einer Leinwand tun).

Ich habe es ziemlich funktioniert, aber ich habe ein seltsames Problem mit der Zeichnung auf einer ersten Zeichnung, nachdem der Modus von Unschärfe zu Farbe oder umgekehrt geändert wurde.

Siehe das Bild unten.

LACKMODUS

Die vertikal gezeichneten Pfade werden angezeigt, wenn der Benutzer den Malmodus ausgewählt hat. Wie Sie sehen können, enthält der erste Pfad Farbe sowohl von blur paint als auch von paint (mit rotem Strich). Alle weiteren gezeichneten Pfade funktionieren jetzt gut.

BLUR MODUS

Entsprechend können Sie nach dem Zeichnen von zwei vertikalen Pfaden sehen, dass der Modus in diesem Modus unscharf wird und horizontale Pfade zeichnet. Diesmal ist ähnlich wie oben der erste Pfad eine Mischung aus zwei Malobjekten und nachfolgenden Pfaden.

Bitte sehen Sie sich den unten angegebenen Code an. Es wäre großartig, wenn Sie vorschlagen könnten, was das Problem verursachen könnte.

%Vor%     
Sahil 25.11.2015, 19:27
quelle

2 Antworten

4

Wahrscheinlich möchten Sie die Reihenfolge der zwei Zeilen in touch_up ändern, die den Pfad löschen (neuer Pfad), und die Anzeige den Pfad zur Liste hinzufügen (zuerst hinzufügen, dann löschen)

    
yoah 28.11.2015 11:21
quelle
1

Der Fehler tritt auf, weil das mPath-Objekt mit dem vorherigen Zeichnungsmodus erstellt wurde, da es mit dem vorherigen Zeichnungsmodus beim Mouse-Up erstellt wurde.

Verschieben Sie die mPath-Erstellung auf touch_start und der aktuelle Zeichenmodus wird verwendet:

%Vor%     
bebbo 02.12.2015 10:02
quelle