Hallo,
Ich wollte ein "Auto" machen, dass man mit den Pfeiltasten (hoch, rechts und links) steuern kann und zwar, wenn man nach links oder rechts drückt, dreht das Auto sich in die Richtung. Wenn man nach oben drückt, fährt es in die derzeitige Richtung, abhängig davon wie es gedreht ist.
Ich bin bis hier hin gekommen:
Spoiler anzeigen
und brauche jetzt Hilfe für das Vorwärtsfahren.
Ich wollte ein "Auto" machen, dass man mit den Pfeiltasten (hoch, rechts und links) steuern kann und zwar, wenn man nach links oder rechts drückt, dreht das Auto sich in die Richtung. Wenn man nach oben drückt, fährt es in die derzeitige Richtung, abhängig davon wie es gedreht ist.
Ich bin bis hier hin gekommen:
VB.NET-Quellcode
- Imports System.Runtime.InteropServices
- Public Class Form1
- Dim Winkel As Integer = 0
- <DllImport("user32.dll")> _
- Private Shared Function GetAsyncKeyState(ByVal vKey As Int32) As Int16
- End Function
- Dim Posx As Integer = 0
- Dim Posy As Integer = 0
- Private Sub Form1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles Me.Paint
- Dim RP As New Point(325, 350)
- Dim Q As New Rectangle(300, 300, 50, 100) ' Das Rechteck
- Dim t As New Drawing2D.Matrix
- t.RotateAt(Winkel, RP)
- t.Translate(Posx, Posy)
- e.Graphics.Transform = t
- e.Graphics.FillRectangle(Brushes.Black, Q)
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Dim TOben As Boolean = ((GetAsyncKeyState(Keys.Up) And &H8000) <> 0)
- Dim TRechts As Boolean = ((GetAsyncKeyState(Keys.Right) And &H8000) <> 0)
- Dim TLinks As Boolean = ((GetAsyncKeyState(Keys.Left) And &H8000) <> 0)
- If TOben = True Then
- Posx = 0
- Posy = 0
- Invalidate()
- End If
- If TRechts = True Then
- Winkel += 1
- Invalidate()
- End If
- If TLinks = True Then
- Winkel -= 1
- Invalidate()
- End If
- End Sub
- End Class
und brauche jetzt Hilfe für das Vorwärtsfahren.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „JGF“ ()