PictureBox shießen

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von korbi999.

    PictureBox shießen

    Hallo,

    Ich bin gerade dabei ein Spiel zu programmieren in dem man ein UFO nach links und rechts steuert und andre UFOs abschießt.
    Das steuern funktioniert sehr gut, aber ich weiß nicht wie ich das mit dem schießen machen soll :(. Ich hab mir gedacht das man irgendwie
    eine Picture Box auf Knopf (bzw auf Tasten) druck erscheinen lassen kann ohne sie im Entwurf zu erstellen.
    Geht das irgendwie oder hat wer eine andere Idee?

    Gruß korbi999
    Willkommen im Forum. :thumbup:
    PictureBoxen haben eine Property Visible, sie kann zur Design- und zur Laufzeit gesetzt werden.
    Nutze diese.
    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!
    jetzt will ich das die Picture box nach oben wandert (weil sie ja geschossen wurde) das mache ich normalerweise mit einem Timer der immer wenn er tickt die Picture box eine bestimmte weite verschiebt. wenn ich jetzt das machen will und den befehl zum verschieben eingebe kommt die Fehlermeldung das es die Picture box nicht gibt das stimmt ja irgendwie aber wenn ich die Taste drücke gibt es sie ja. Was kann man da machen?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „korbi999“ ()

    korbi999 schrieb:

    kommt die Fehlermeldung das es die Picture box nicht gibt

    Ja wie sieht denn nun Dein Code und die Fehlermeldung aus?
    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!
    hier der code vom einfügen der pb:

    VB.NET-Quellcode

    1. If e.KeyCode = Keys.S Then Dim pbpatrone As New PictureBox pbpatrone.Top = PictureBox1.Top pbpatrone.Left = PictureBox1.Left pbpatrone.Size = New Size(15, 30) pbpatrone.Image = My.Resources.Patrone1 Me.Controls.Add(pbpatrone) End If



    und hie der code vom verschieben:

    VB.NET-Quellcode

    1. Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick pbpatronr.Location = New Point(pbpatrone.Location.X, pbpatrone.Location.Y - 4) End Sub



    und die Fehlermeldung ist:
    " 'pbpatrone' wurden nicht deklariert. Auf das Objekt kann aufgrund seiner Schutzstufe möglicherweise nicht zugegriffen werden."

    sorry für das komische anzeigen des codes er nimmt den absatz irgendwie nicht

    korbi999 schrieb:

    VB.NET-Quellcode

    1. Dim pbpatrone As New PictureBox
    muss aus dem If in die Klasse verschoben werde.
    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!
    Danke :D :D :D :D :D :D

    ok jetzt ist noch was:
    wenn ich jetzt schieße funktioniert alles aber wenn ich gleich darauf noch mal schieße geht die erste weg. kann man da was machen ?

    noch mal danke für alles hat mir sehr geholfen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „korbi999“ ()

    korbi999 schrieb:

    kann man da was machen ?

    ZUnächst mal den aktuellen Code posten und den Effekt genau beschreiben.
    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!