DoMove(id)
id
angegebenen Liste hinzugefügt wurden (durch AddMove()).
Das ist sehr nützlich, wenn Sie animierte Grafiken mit
verschiedenen Objekten darstellen wollen. Wenn Sie jedes Objekt
mit DisplayBrush() zeichnen würden, würde
Ihr Display mit Sicherheit sehr stark flackern. Das kann verhindert
werden, indem das Display mit einer einzigen Zeichnungsoperation
erneuert wird. DoMove()
realisiert das: Sie fügen alle Objekte, die
gezeichnet werden sollen, zu einer Liste hinzu (mit AddMove())
und rufen dann DoMove()
auf, was Ihre ganze Liste mit einer einzigen
Zeichnungsoperation zeichnen wird.
Die Implementation von DoMove()
ist, dass es die angegebene Liste
nach den Objekten durchsucht, die gezeichnet werden sollen. Bei
jedem Objekt in der Liste wird Hollywood prüfen, ob es sich bereits
auf dem Bildschirm befindet. Wenn ja, wird es von Hollywood an
seine neue Position bewegt. Wenn nein, wird es auf den Schirm
gezeichnet. Deshalb werden, wenn sich alle Objekte schon auf dem
Bildschirm befinden und nur mit DoMove()
bewegt werden müssen,
alle Ebenenpositionen beibehalten. Befinden sich Objekte in der
Liste, die nicht bereits auf dem Bildschirm sind, werden sie neu
gezeichnet und erhalten die obersten Ebenenpositionen zugewiesen.
Nachdem DoMove()
beendet ist, sollten Sie ClearMove()
aufrufen. Das wird die angegebene Liste leeren, so dass Sie sie
wieder mit neuen Objektpositionen verwenden können.
Dieser Befehl setzt aktivierte Ebenen voraus.
EnableLayers() For x = 0 To 400 AddMove(1, #BRUSH, 1, x, 0) AddMove(1, #BRUSH, 2, x, 100) AddMove(1, #BRUSH, 3, x, 200) AddMove(1, #BRUSH, 4, x, 300) DoMove(1) ClearMove(1) NextDieser Code bewegt Pinsel 1 bis 4 von 0 nach 400. Sie werden kein Flackern bemerken, da die DoMove-Liste-Technologie verwendet wird.