Canvas animieren

  • Hallo,
    ich bin der Neue :rolleyes: und will mal schauen, ob auf meine alten Tage noch was lernen kann. Ich möchte ein kleines Projekt realisieren und scheitere bei der Animation. Im angehängten Code frage ich die Touch-Position ab und möchte davon ausgehend eine Reihe Punkte zeichen. Aber diese Punkte sollen nacheinander hinzugefügt werden und nicht wie bei mir jetzt erst alle 10 gezeichnet, aber erst am Schluss dargestellt.
    Ich schätze ich muß da mit einem Timer arbeiten, aber wie mache ich das? Ähm .... Fachbegriffe sind mir nicht so geläufig, ein kleines Beispiel bringt mir da mehr, sorry
    Danke im Voraus
    Gruß Jörg


  • Oh, das wollte ich nochmal ändern, hatte dann aber vergessen wieder ein postInvalidate() bzw. invalidate() einzufügen.
    Hab es in der for ... probiert, aber auch außerhalb.
    Also, die Punkte werden dargestellt, aber eben alle auf einmal (vielleicht auch nacheinander, aber zu schnell als das da ein Unterschied zu sehen ist.)
    Die Punktereihe soll ja langsam erweitert werden.

  • Dafür läuft die Schleife zu schnell durch. Die einfachste Lösung ist, nach jedem bitmapCanvas.drawCircle eine pause Thread.sleep und ein postInvalidate. Allerdings nicht auf dem main thread. D.H. Du brauchst noch einen Thread, der im Hintergrund seine Kreise zieht :)

  • Ich habe unter anderem dieses Probiert. Ich weiß, der Aufruf steht an der falschen Stelle, doch es wird nicht einmal etwas in die Konsole geschrieben. Kann mir das wer mal richtig schreiben?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!