Ich entwerfe ein Breakout-Stil-Spiel in VB und habe einige kleinere Probleme mit meinem Code.Mehrere Nachrichtenfelder erscheinen anstelle von einem
Ich überprüfe auf Kollisionen zwischen dem Ball und den 4 Seiten des Formulars. So, wie der Ball mit dem Boden des Formulars kollidiert, soll das Spiel ein Nachrichtenfeld mit der Aufschrift "You Lost!" mit den Schaltflächen Wiederholen und Abbrechen.
Dies ist, was ich unter meinem Timer1_Tick Ereignis codiert haben:
'check bottom of screen
If PictureBox_ball.Top >= 403 Then
'403 is the Y-coordinate of a horizontal line I have implemented
MsgBox("You Lost!", MessageBoxButtons.RetryCancel)
End If
Allerdings, wenn ich diesen Code ausführen, zeigt das Spiel mehrere Meldungsfelder (etwa 25 von den gleichen) anstelle einer darstellen kann. Und damit hört es nicht auf.
Während sich der Ball nach unten bewegt und auf den unteren Bildschirmrand trifft, stoppt der Ball die Bewegung, zeigt eine Reihe von Meldungsfeldern an und bewegt sich dann weiter nach unten und aus dem Bildschirm.
Wie könnte ich das beheben?
Bieten Sie mehr Code. Wann wird Ihr Message-Box-Code aufgerufen? Wie hast du die Spielanimationsschleife implementiert? Haben Sie den Debugger ausgeführt? Oder drucken Sie einige Informationen zur Konsole. –