vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: [Frage] Pong! Berechnung? 
Autor: Urot
Datum: 27.03.05 03:48

theoretisch glaube ich so :

du berechnest die akuelle steigung des balles und wenn du an der grenze deiner
fläche bist dann musste die einfach umkehren, bei sowas is nen stift und nen zettel immer schon was gutes hehe da wird des sofort klar ich hab ma fix nen kleines beispiel gemacht das berücksichtigt aber nur für bewegung im uhrzeigersinn ...


 
    Enum direction
        upright = 1
        upleft = 2
        downright = 3
        downleft = 4
    End Enum
 
    Function getSteigung(ByVal neuerichtung As direction, ByVal alteSteigung As _
      Point) As Point
        Select Case neuerichtung
            Case direction.upleft
                Dim newy As Integer = -alteSteigung.Y
                Return New Point(alteSteigung.X, newy)
            Case direction.upright
                Dim newx As Integer = -alteSteigung.X
                Return New Point(newx, alteSteigung.Y)
            Case direction.downleft
                Dim newx As Integer = -alteSteigung.X
                Return New Point(newx, alteSteigung.Y)
            Case direction.downright
                Dim newy As Integer = -alteSteigung.Y
                Return New Point(alteSteigung.X, newy)
        End Select
    End Function
 
    Private CurCoordinates As New Point(1, 100)
    Dim steigung As New Point(1, -1)
    Dim currentdirection As direction = direction.upright
 
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Timer1.Tick
        Dim g As Graphics = PictureBox1.CreateGraphics
        g.Clear(PictureBox1.BackColor)
        If CurCoordinates.Y < 0 Then
            steigung = getSteigung(direction.downright, steigung)
            currentdirection = direction.downright
        ElseIf CurCoordinates.X > PictureBox1.Width Then
            steigung = getSteigung(direction.downleft, steigung)
            currentdirection = direction.downleft
        ElseIf CurCoordinates.Y > PictureBox1.Height Then
            steigung = getSteigung(direction.upleft, steigung)
            currentdirection = direction.upleft
        ElseIf CurCoordinates.X < 0 Then
            steigung = getSteigung(direction.upright, steigung)
            currentdirection = direction.upright
        End If
        g.DrawEllipse(New Pen(Color.Black), New RectangleF(CurCoordinates.X + _
          steigung.X, CurCoordinates.Y + steigung.Y, 16, 16))
        CurCoordinates.X = CurCoordinates.X + steigung.X
        CurCoordinates.Y = CurCoordinates.Y + steigung.Y
    End Sub
ahoi
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
[Frage] Pong! Berechnung?917Stummelchen26.03.05 20:22
Re: [Frage] Pong! Berechnung?669Urot27.03.05 03:48
Re: [Frage] Pong! Berechnung?626Urot27.03.05 03:56

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel