Visual Basic Plattformer KollisonsFrage:

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von SystemUnknow.

    Visual Basic Plattformer KollisonsFrage:

    Hallo,
    Ich habe mich extra für diese Frage hier angemeldet, da ich hoffe, dass mir hier jemand helfen kann ;)

    Zu meiner Frage:
    Ich programmiere gerade ein kleines! Plattformer game(also wie super mario oder so) und habe jetzt eine Kollision. Also meime Hauptfigur fällt immer weiter runter außer wenn er auf einer platform steht.Dies habe ich mit picturebox.bounds.intesectwith...usw gemacht aber wenn ich jetzt von der seite in die picturebox komme bleibe ich in der picturebox hängen und kann mich in IHR! bewegen. Hier der Code:

    VB.NET-Quellcode

    1. Public Class Singleplayer Public isfalling As Boolean = True Public playerlife As Integer
    2. Private Sub Singleplayer_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown If e.KeyCode = Keys.Left Then If PictureBox1.Bounds.IntersectsWith(PictureBox2.Bounds) Then If isfalling = True Then Else PictureBox1.Location = New Point(PictureBox1.Location.X - 1, PictureBox1.Location.Y) End If End If
    3. End If If e.KeyCode = Keys.Right Then If PictureBox1.Bounds.IntersectsWith(PictureBox2.Bounds) And isfalling = True Then Else PictureBox1.Location = New Point(PictureBox1.Location.X + 1, PictureBox1.Location.Y) End If End If If e.KeyCode = Keys.Up Then
    4. End If End Sub Private Sub Singleplayer_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load playerlife = 5
    5. Timer1.Enabled = True End Sub
    6. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If PictureBox1.Bounds.IntersectsWith(PictureBox2.Bounds) Then isfalling = False Label1.Text = isfalling.ToString Else PictureBox1.Location = New Point(PictureBox1.Location.X, PictureBox1.Location.Y + 5) isfalling = True Label1.Text = isfalling.ToString End If End Sub
    7. End Class



    Ich habe dieses Problem versucht damit zu lösen, dass ich eine Boolean variable deklariere und dann immer prüfe ob ich falle oder nicht. Das hat aber leider nicht funktioniert. Auch nicht mit dem Befehl:
    If PictureBox1.Bounds.IntersectsWith(PictureBox2.Bounds) And isfalling = True Then usw...



    Ich hoffe jemand kann mir Helfen :?:


    MFG
    SmellGreen!

    PS: sorry für dieses komische code fenster aber ich bin neu hier und weiß nicht wie ich das richtig machen soll... ?(
    sry aber ich schlage vor du kommst erstmal von dem "ich bau ein spiel indem ich controls und pictureboxen durch die gegend schwirren lasse"-denken weg...
    wenn jemand die motivation hat dir zu helfen wirst du spätestens 5 minuten später an ein nächstes problem stoßen und die grenzen des machbaren erreicht haben.
    So wie du das spiel realisieren willst hat es KEINE zukunft.

    Das soll jetzt nicht als angriff gemeint sein, jeder der neu mit basic anfängt beginnt auf diese art zu basteln - mich eingeschlossen. Ich bin überzeugt, dass du ein super mario proggen kannst wenn du dir die grundlagen angeeignet hast:

    - klassen erstellen/verwenden
    - GDI+

    du hast z.b. später eine eigene klasse für deine spielerfigur. diese weis wie sie sich zu zeichnen hat (mittels GDI) etc. auch deine "map" wird eine eigene klasse haben in der alle wichtigen eigenschaften gespeichert sind (im grunde alle hindernisse, gegner, etc). das ganze ist arbeit, aber das ist teil eines jeden projektes
    Also erstmal danke für die SCHNELLE antwort.
    ich weiß wie man mit klassen umgeht (naja nen bisschen) und ich weiß auch das ich so kein richtiges spiel programmieren kann (ohne engine usw.) ich wollte halt nur mal rumprobieren, (wie du shcon sagtest das macht jeder anfänger mal) wenn du noch so nett wärest mir zu sagen wie ich am besten !!!RICHTIG!!! programmieren kann also nicht so video tutorials von youtube wo irgendjemand nen webbrowser oder so schreibt und man alles abschreibt und dann sagt : "TOLL ich kann programmieren". Ich will wirklich programmieren lernen(also alles verstehen usw...) gibt es da bücher oder wie lernt man das?
    Bitte beachte aber, dass ich erst 14 bin und daher noch ne lange zeit habe programmieren zu lernen. Außerdem ist mein berufswunsch auch programmierer (PS: ich mach abitur dann geht das ja wohl(naja jedenfalls wenn ich so in der schule bleibe bin 9. klasse)) ;)
    Ich hoffe du antwortest mir und ich bin dir SEHR dankbar= D

    PS: Solange jemand Höflich und konstruktiv bleibt nehme ich nichts als angriff an ;)

    :)


    MFG
    SmellGreen
    Danke ;)
    Naja google istfür mich immer so ne sache oft kommt da auch nur so code schnipsel für copy&paste oder abschreiben deswegen verhalt ich mich gegen google immer vorsichtig Galileo Computing und openbook also wie uch das herausfinden konnte sind das bücher zum downloaden?