PictureBox Bewegung erkennen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    PictureBox Bewegung erkennen

    Hallo Zusammen,
    Ich bin derzeit am entwickeln eines simplen Spiels...
    Man muss mit einer picturebox über eine andere picturebox "fahren", damit das Spiel weitergeht.
    Ich möchte dies mit Hilfe der Location Funktion machen...
    Also:

    If PictureBox1.Location.X = PictureBox2.Location.X And PictureBox1.Location.Y = PictureBox2.Location.Y Then
    bla bla bla
    End If

    Das Problem:
    Die PictureBox muss absolut genau über der zweiten liegen, damit es funzt.

    Kann man das irgendwie anders machen?

    Gibt es eine Möglichkeit, die Abfrage so zu verändern, damit es nicht genau sein muss, sondern +/- 5 oder so, sein kann?!

    z.b.:

    If PictureBox1.Location.X ist gleich etwa PictureBox2.Location.X And PictureBox1.Location.Y ist gleich etwa PictureBox2.Location.Y Then
    bla bla bla
    End If

    Könnt ihr mir helfen?
    Bevor du auch nur eine EINZIGE weitere Zeile "PictureBox Spiel Code" schreibst, lösch dein Projekt, leg ein neues an und
    erstelle dein Spiel mit GDI+
    Wenn du dich damit noch nicht auskennst (wovon ich ausgehe) dann könnte dir dieser Link weiterhelfen: [VB 2008] [Tutorial] GDI+
    Aber ein Spiel mit Controls zu erstellen ist Mist. Richtiger Mist
    mfg paulkoch95
    "yippieh! it compiles - ship it!"
    Das kann man so realisieren

    VB.NET-Quellcode

    1. If PictureBox1.Location.X > PictureBox2.Location.X - 5 AndAlso PictureBox1.Location.X < PictureBox2.Location.X + 5 Then
    2. If PictureBox1.Location.Y > PictureBox2.Location.Y - 5 AndAlso PictureBox1.Location.Y < PictureBox2.Location.Y + 5 Then
    3. MessageBox.Show("treffer")
    4. End If
    5. End If


    mfG

    Derfuhr
    Hi, das ist ganz einfach:

    VB.NET-Quellcode

    1. Dim zahl1 As Integer = 87 'irgendwas halt
    2. Dim ziel As Integer = 100 'deine ziel-zahl
    3. Dim Genauigkeit As Integer = 20 'die +- Genauigkeit
    4. If Math.Abs(ziel - zahl1) <= Genauigkeit Then
    5. 'zahl1 ist in der Nähe (+- Genauigkeit) von ziel
    6. Else
    7. 'nicht in der Nähe
    8. End If
    SᴛᴀʀGᴀᴛᴇ01
    Du kannst doch das Rectangle jedes Controls einer Rectangle-Struktur zuweisen und dann mit Rectangle.IntersectsWith Schnittmengen und so weiter abtesten.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!