Sanftes Scrolling

17/11/2010 - 17:22 von Hermie | Report spam
Hallo!

Ich möchte ein Sprite auf dem Bildschirm bewegen.

Das Sprite soll sich möglichst sanft bewegen.

Ich benutze eine Timer (25 ms), und bei jedem Timer-Event bewege ich das
Sprite.
Das geht ganz toll und "sanft", wenn ich bei jedem Timer-Event mein
Sprite um einen Pixel bewege.

Soll sich aber mein Sprite schneller bewegen, dann bekommt das Sprite
einen "Schweif" (ein besserer Ausdruck fàllt mir grade nicht ein).

Man kann das nachvollziehen, wenn man auf eine Form eine Picturebox
zieht und folgenden Code einfügt:

Private Sub Form_Load()

Me.ScaleMode = vbPixels
Me.Picture1.Appearance = 0

Me.Timer1.Interval = 25
Me.Timer1.Enabled = True

End Sub

Private Sub Timer1_Timer()

If Me.Picture1.Left + Me.Picture1.Width < Me.ScaleWidth Then
Me.Picture1.Left = Me.Picture1.Left + 8
Else
Me.Picture1.Left = 0
End If

End Sub

Ich habe das auf 2 unterschiedlichen Monitoren ausprobiert, und auf
beiden bekomme ich so einen Schweif. Es sieht nicht "klar" aus, sondern
verschwommen.

Es wàre sehr nett, wenn mir jemand etwas dazu schreiben könnte!

Viele Grüße,
Hermann
 

Lesen sie die antworten

#1 Anton Azubi
03/12/2010 - 17:27 | Warnen spam
Schnellschuß, weiß nicht, ob's was hilft, aber ich würde mal DoEvents
probieren, und falls das nicht hilft, LockWindow.

Der "Schweif" kommt vermutlich daher, daß Windows den frei werdenden Bereich
mit verminderter Prioritàt restauriert.

Ähnliche fragen