2D Sprung
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 27 Antworten in diesem Thema. Der letzte Beitrag () ist von Gelöschter Benutzer.
-
-
Dein Ansatz ist falsch ... falls du ein "Spiel" schreiben willst.
quick and dirty:
VB.NET-Quellcode
- Public Class Form1
- Private Const besch As Integer = 2 ' Beschleunigung
- Private Const stoss As Integer = 4 ' Stossabsorption am Boden
- Private gesch As Integer ' aktuelle Fall/Steiggeschwindigkeit
- Private WithEvents tm As New Windows.Forms.Timer
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- tm.Interval = 30
- tm.Enabled = False
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- If Not tm.Enabled Then
- tm.Enabled = True
- gesch = 0
- End If
- End Sub
- Private Sub tm_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tm.Tick
- Dim ziel As Integer = Button1.Top
- gesch += besch
- ziel += gesch
- If ziel + Button1.Height > Me.ClientRectangle.Height Then
- ziel = Me.ClientRectangle.Height - Button1.Height
- gesch = 0 - (gesch - stoss)
- End If
- Button1.Top = ziel
- If gesch = 0 AndAlso Button1.Top = (Me.ClientRectangle.Height - Button1.Height) Then
- tm.Enabled = False
- Debug.Print("done")
- End If
- End Sub
- End Class
-
-
-
-
-
Button1_click schrieb:
Ich meine z.b. wenn ich die Oben-Taste drücke springt es hoch und fliegt eben wieder runter.
Dann setze das Object auf den "Boden" und setze die Anfangsgeschwindikgeit auf einen negativen Wert.
VB.NET-Quellcode
- Public Class Form1
- Private Const besch As Integer = 2 ' Beschleunigung
- Private Const stoss As Integer = 3 ' Stossabsorption am Boden
- Private gesch As Integer ' aktuelle Fall/Steiggeschwindigkeit
- Private WithEvents tm As New Windows.Forms.Timer
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- tm.Interval = 30
- tm.Enabled = False
- Button1.Top = Me.ClientRectangle.Height - Button1.Height
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- If Not tm.Enabled Then
- tm.Enabled = True
- gesch = -20
- End If
- End Sub
- Private Sub tm_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles tm.Tick
- Dim ziel As Integer = Button1.Top
- gesch += besch
- ziel += gesch
- If ziel + Button1.Height > Me.ClientRectangle.Height Then
- ziel = Me.ClientRectangle.Height - Button1.Height
- If Math.Abs(gesch) - stoss < 0 Then
- gesch = 0
- Else
- gesch = 0 - (gesch - stoss)
- End If
- End If
- Button1.Top = ziel
- If gesch = 0 AndAlso Button1.Top = (Me.ClientRectangle.Height - Button1.Height) Then
- tm.Enabled = False
- Debug.Print("done")
- End If
- End Sub
- End Class
-
-
-
Gelöschter Benutzer schrieb:
Wie kriege ich heraus
Bidde? -
na mit e.keyChar oder so
halt einer Sub...
(teeworlds.com)Die machen das irgentwie mit -left in einer extraconsole
Valerian -
-
-
Variablen für Tastendrücke (Boolean) dimensionieren und auf diese reagieren.
@picoflop Das ist ja mal ein toller Button! -
ok also etwa mit:
KeyDown -> druck = true
KeyUp -> druck = false
(egal welche taste...)
So könnte es gehen oder?
(Ich versuche einen Code: )
VB.NET-Quellcode
- Dim keyleft As Boolean = False
- Private Sub Form1_KeyUp(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles Me.KeyUp
- If e.KeyData = Keys.Left Then
- keyleft = False
- End If
- End Sub
- Private Sub Form1_KeyDown(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles Me.KeyDown
- If e.KeyData = Keys.Left Then
- keyleft = True
- End If
- End Sub
So etwa?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Gelöschter Benutzer“ ()
-
Jau!
Spoiler anzeigen Der Beitrag ist zu kurz. Der Beitrag muss mindestens 5 Zeichen lang sein und 1 Wort enthalten. -
-
-
-
-
Tags
-
Ähnliche Themen
-
Kevin Hombre - - Off-Topic