Ich habe ein MOUSE_MOVE MouseEvent und einen Code zum Zeichnen von Kreisen erstellt, während ich den Mauszeiger bewege. Das Problem ist, dass es nicht jeden einzelnen Kreis herauszieht, wenn ich die Maus zu schnell bewege. Cursorbewegung zu schnell, um den Code zu lesen
Hier sind die Codes, die ich für das Ereignis MOUSE_MOVE habe.
stage.addEventListener(MouseEvent.MOUSE_MOVE, mCursor);
public function mCursor(e:MouseEvent):void
{
var cursor:Shape = new Shape();
cursor.graphics.beginFill(1, 1);
cursor.graphics.drawCircle(e.stageX, e.stageY, 10);
cursor.graphics.endFill();
addChild(cursor);
}
Gäbe es eine arithmetische Gleichung oder Physik Formel es so jeden einzelnen Kreis hinzufügen zu haben, dass sie eine gerade Linie, ohne die Leerstellen dazwischen ziehen kann?
Verwenden Sie Pixel (Bitmap-Daten) nicht Shape beim Erstellen einer Zeichnung App. All diese 'addChild (cursor);' könnten das System verlangsamen, wenn Sie zu viele Speicher hinzufügen. –
Gibt es ein Tutorial zur Verwendung von Bitmap-Daten? Ich bin nicht so vertraut mit ihm als Shape ist grundlegend zu verstehen – Zulu
Es gibt viele Tutorials da draußen. Ihr Problem ist derzeit 'Cursor' ist eine Variable. Jede hinzugefügte Form erstellt mehrere ** Variablen ** im System. Erstellen Sie ein einzelnes leeres Bitmap mit einer bestimmten Breite und Höhe und verwenden Sie dann setpixel (das nur die Farben an bestimmten Koordinaten im Canvas ändert), die Sie nicht ständig hinzufügen, sondern einfach einen festgelegten Betrag bearbeiten. Wenn Sie diese bestimmte Kreisform/-größe benötigen, dann "zeichnen" Sie sie zunächst als "cursor_BMP", dann "rubbern" Sie diese Pixel um Ihren 'canvas_BMP'. –