Zum Inhalt springen

Linien bewegen in VB6


jhaaf

Empfohlene Beiträge

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 :D

Bis denn...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...