Veröffentlicht 19. Juni 200124 j Hallo an alle, ich schreibe gerade ein Programm in VB6 für meine ZULA und habe ein Problem: Ich will vertikale Linien über den Bildschirm wandern lassen. Dazu überschreibe ich eine Linie mit der Hintergrundfarbe und zeichne eine neue Linie mit neuen Koordinaten daneben. Doch die Linien flimmern! Wir kriege ich das Flimmern raus? Ich habe schon versucht, die Linien über Steuerelemente zu bewegen, doch dazu müßte ich jede einzelne Linie direkt ansprechen (Line1, Line2, ...). Ein Ansprechen mit einer Variablen (Linei) ist nicht möglich. Kann mir jemand helfen?
20. Juni 200124 j Hi, wie genau hast du das denn realisiert? Wenn der Code nicht allzulang ist paste ihn doch mal hier rein. Hast du irgendwelche Controls verwendet (z.B. Line)?
20. Juni 200124 j Hi, sag mal wieso bewegst du die Lines nicht mit Hilfe der Koordinaten. Du kannst doch einfach mit Hilfe z.B. eines Timers alle 10tel Sekunde oder so die Line um soundsoviel Bildpunkte nach rechts, links, oben oder unten verschieben. Hab hier mal auf die schnelle ein kleines Beispiel codiert... Option Explicit Private y As Integer Private z As Integer Private Sub Form_Load() Line1.X1 = 0 Line1.X2 = 0 Line2.Y1 = 0 Line2.Y2 = 0 End Sub Private Sub Timer1_Timer() y = y + 10 z = z + 10 If y > Form1.Width Then y = 0 End If If z > Form1.Height Then z = 0 End If Line1.X1 = y Line1.X2 = y Line2.Y1 = z Line2.Y2 = z End Sub Versuchs doch mal so Bis denn...
20. Juni 200124 j Vielen Dank für eure Antworten. Zunächst zu E-Sorcerer: Ich wollte die Linien über Variablen ansprechen, wie z.B. i = 1 While i>20 Linei.x1 = Linei.x1+1 Linei.x2 = Linei.x2+1 i = i+1 Wend Doch das läßt VB nicht zu. Meine Lösung war Linien zu zeichnen über Form1.Line, doch da flimmerts, weil ich die alte Linie erst löschen muß und dann die neue zeichne. Ich habe meinen Code mal auf's wesentliche beschränkt: While i < AnzahlLinien Picture1.Line (Linie(i), -500)-(Linie(i), -4500), QBColor(7) 'alte Linie überzeichnen Linie(i) = Linie(i) + RichtungLinie(i) * GeschwindigkeitLinie(i) 'neue position bestimmen Picture1.Line (Linie(i), -500)-(Linie(i), -4500), QBColor(4) 'neue Linie zeichnen i = i + 1 Wend Vielen Dank für eure Mühen jhaaf
20. Juni 200124 j Hi, ich bin's nochmal. zu deiner Möglichkeit mit Variablen die Linien anzusprechen: Mach doch einfach ein Array vom Typ "object" und move deine Linien dann mit "Set Array(index) = Line1" usw dahin. Dann kannst Du die Line's auch in einer Schleife über das Array ansprechen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.