Hallo,
Ik ben een programma aan 't maken voor school waarmee we een bal over het scherm moeten laten bewegen, heel simpel. Maar nu wil ik dus zorgen dat het niet meer gaan knipperen, is erg irritant. Nou zocht ik op internet op hoe dat moest en vond ik de volgende 3 magische regels:
Er stond bij dat 't in m'n Form_Load moest dus ik heb dat gedaan. Ik heb verder op het scherm een bal en 2 paddles (beetje het Pong idee), dit zijn bitmaps die worden getekent op 't scherm.
Maaarrr, nu wil het nog steeds niet ophouden met flikkeren, hoe los ik het dan op? Zo ziet mijn Form_Load eruit:
Verder staan dus de functies om de bal e.d. te tekenen en te bewegen enzo in een Timer-loop, deze staat op een interval van 14ms. Verder werkt het allemaal prima, behalve dan dat het dubbele bufferen dit schoonheids foutje niet wil verhelpen.
Iemand enig idee?
Alvast bedankt!
Ik ben een programma aan 't maken voor school waarmee we een bal over het scherm moeten laten bewegen, heel simpel. Maar nu wil ik dus zorgen dat het niet meer gaan knipperen, is erg irritant. Nou zocht ik op internet op hoe dat moest en vond ik de volgende 3 magische regels:
Visual Basic:
1
2
3
| Me.SetStyle(ControlStyles.DoubleBuffer, True) Me.SetStyle(ControlStyles.UserPaint, True) Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) |
Er stond bij dat 't in m'n Form_Load moest dus ik heb dat gedaan. Ik heb verder op het scherm een bal en 2 paddles (beetje het Pong idee), dit zijn bitmaps die worden getekent op 't scherm.
Maaarrr, nu wil het nog steeds niet ophouden met flikkeren, hoe los ik het dan op? Zo ziet mijn Form_Load eruit:
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Box.Width = Me.Width Box.Height = Me.Height g = Box.CreateGraphics() Me.SetStyle(ControlStyles.DoubleBuffer, True) Me.SetStyle(ControlStyles.UserPaint, True) Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True) Ball1 = New Ball(20, 0, 20, 3) '(X, Y, Size, Weight) Paddle1 = New Paddle("Paddle1.gif", 10, 10) '(Filename, X, Y) Paddle2 = New Paddle("Paddle2.gif", 760, 10) '(Filename, X, Y) End Sub |
Verder staan dus de functies om de bal e.d. te tekenen en te bewegen enzo in een Timer-loop, deze staat op een interval van 14ms. Verder werkt het allemaal prima, behalve dan dat het dubbele bufferen dit schoonheids foutje niet wil verhelpen.
Iemand enig idee?
Alvast bedankt!
[ Voor 3% gewijzigd door Verwijderd op 01-11-2005 20:22 ]