[.NET] Ein Bild, Panel, ... darf nicht aus der Form

  • Hallo,


    ich bin auf ein schweres Problem gestoßen. Es handelt sich um folgendes:


    Ich habe ein Pong spiel programmiert. Die Steuerung erfolgt mit einer Maus (Panel.position = mausposition.y). Dadurch kann der Panel aus der Form. Ich habe versucht es mit "MouseMove" einzuschränken - doch da treten Probleme aus (bewegt sich nicht ganz, ...). Hättet ihr Lösungsvorschläge?


    Wäre für JEDE Hilfe dankbar.


    mfg take

  • ch habe versucht es mit "MouseMove" einzuschränken - doch da treten Probleme aus (bewegt sich nicht ganz, ...). Hättet ihr Lösungsvorschläge?


    Wie genau ist das zu verstehn? Das MouseMove Event wird jedes mal getriggert wenn sich die Maus innerhalb des Panels bewegt.

    Zitat

    Dr. Gregory House: You've gotta get down here. They've got a satellite aimed directly into Cuddy's vagina. I told them that chances of invasion are slim to none but...

  • Also das Spiel besitzt eine Spielfläche, die Spielfläche ist ein Panel. Wenn man die Mouse im Spielpanel bewegt wird immer:


    "Spieler.Top = MousePosition.Y + 225 - Me.Height"


    Ich hatte bereits versuche - wo ich geprüft habe ob die Maus über den Schläger ist, doch diese scheiterten.

  • Hab das mit diesem "Spieler.Top" nie verwendet, aber ich glaub das sind ja einfach die Pixel zwischen dem Schläger und dem oberen Rand wenn ich mich nich irre.


    Du kannst doch einfach eine kleine Abfrage machen:


    [cs]
    if Spieler.Top < 0
    Spieler.Top = 0
    else if Spieler.Top + Spieler.Height > Panel.Height
    Spieler.Top = Panel.Height - Spieler.Height
    End If[/cs]


    So würde ich das glaube ich machen.


    Termi

  • Geht leider nicht. Dann bleibt der Schläger "stecken" oder es kommen grafische "Fehler" wie zum Beispiel es ruckelt dann sehr stark, aber danke.


    Habe es nun vorerst so versucht - geht nun ein wenig zuverlässiger ist aber auch nicht das wahre^^



    (Wenn ich es in Code machen, presst es egal ob ich es neu editiert wieder zusammen)

  • Die obere Seite des Schlägers entspricht der Mouseposition (Y-Achse) + 225 und - der Höhe der Form. Das ist dafür da, weil VB arbeitet immer mit den gesamten Bildschirm, daher muss ich den Wert abziehen damit man nicht 10m nach oben zeigen muss. Hätte ich ein Vollbild Pong gemacht, hätte ich 0 Probleme^^