Ich bin grad ein bisschen am Verzweifeln. Mein Ziel ist es, eine Kugel in meiner Form1 Auf und Ab hüpfen zu lassen. Natürlich soll die Geschwindigkeit sich dabei verringern da es ja beim Aufkommen ein bisschen Energie verliert.
Mein Problem ist jetzt dass ich entweder einen riesigen Denkfehler drin habe oder irgendwas nicht stimmt.
Habe in meiner Form 2 Textfelder
Das erste lautet "9.81" und das 2te "0.5"
9.81 definiert die Erdbeschleunigung die man natürlich einstellen kann.
und 0.5 die "Bounciness" also wie stark es zurückspringt oder zurückspringen sollte.
Allerdings gibt es jetzt massive Probleme mit der berechnung
kug() ist ein benutzerdefiniertes Steuerelement. Die Variablen SpeedY usw existieren also.
Der ganze Fehler liegt in der Berechnung innerhalb der ifSätze, oder bessergesagt in der Aufnahme der Variablen aus Text1 und Text2. Wenn ich in Text2 jetzt z.B. "0.9"(mit Punkt) eingebe und dann den button fürs bestätigen drücke,
setzt er bouncin einfach auf 9. Wenn ich jetzt ein Int(text2.text) hinsetze kommt ja leider 1 raus. Ich brauche aber eben eine Kommazahl. Wie bekomme ich jetzt ebendiese Kommazahl in eine Variable? Mit int funktioniert es ja leider nicht.
bin schon ziemlich am verzweifeln.
Mein Problem ist jetzt dass ich entweder einen riesigen Denkfehler drin habe oder irgendwas nicht stimmt.
Habe in meiner Form 2 Textfelder
Das erste lautet "9.81" und das 2te "0.5"
9.81 definiert die Erdbeschleunigung die man natürlich einstellen kann.
und 0.5 die "Bounciness" also wie stark es zurückspringt oder zurückspringen sollte.
Allerdings gibt es jetzt massive Probleme mit der berechnung
Code:
Private Sub gravti_Timer()
Dim kz
For kz = 0 To (kug.Count - 1)
kug(kz).speedY = (kug(kz).speedY - gravi / 50)
kug(kz).Top = kug(kz).Top - kug(kz).speedY
kug(kz).Visible = True
If kug(kz).Top >= Me.Height - (Frame1.Height * 1.5) - kug(kz).Height Then
kug(kz).speedY = (kug(kz).speedY * -1) * bouncin
kug(kz).Top = Me.Height - (Frame1.Height * 1.5) - kug(kz).Height - 1
End If
If kug(kz).Top <= 0 Then
kug(kz).speedY = (kug(kz).speedY * -1) * bouncin
kug(kz).Top = 0
End If
Next
End Sub
Der ganze Fehler liegt in der Berechnung innerhalb der ifSätze, oder bessergesagt in der Aufnahme der Variablen aus Text1 und Text2. Wenn ich in Text2 jetzt z.B. "0.9"(mit Punkt) eingebe und dann den button fürs bestätigen drücke,
Code:
gravi = Text1.Text
bouncin = Text2.Text
bin schon ziemlich am verzweifeln.