In folgender If Abfrage mehrere Objekte ansprechen

  • VB.NET

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

    In folgender If Abfrage mehrere Objekte ansprechen

    Servus,

    Ich entwickel grade ein Jump & Run Game und bin auf folgendem Problem gestoßen:

    Ich möchte mit folgender If Abfrage mehrere Panels gleichzeitig ansprechen damit sie die selben Funktionen wie das erste haben!

    VB.NET-Quellcode

    1. PictureBox1.Top = PictureBox1.Top + 5
    2. If (PictureBox1.Bounds.IntersectsWith(Panel1.Bounds)) Then
    3. PictureBox1.Top = PictureBox1.Top - 5
    4. End If


    Wenn ich dafür keine Lösung finde, müsste ich alles einzeln machen was auf dauer viel Arbeit wäre und auch keinen Spaß mehr machen würde. Habe schon versucht zu googlen jedoch nichts brauchbares gefunden.

    Freue mich über jegliche Hilfe.

    L.G

    -Crilind

    *Topic verschoben, das ist kein VBA*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()

    crilind schrieb:

    Ich entwickel grade ein Jump & Run Game
    In Word oder in Powerpoint? :D
    Ich denke, du solltest die Auswahl des Unterforums nochmals überdenken. Tipp: vb-paradise.de/index.php/Board…und-Spieleprogrammierung/


    crilind schrieb:

    Wenn ich dafür keine Lösung finde, müsste ich alles einzeln machen
    Oder einen völlig anderen Ansatz nehmen.
    Denke objektorientiert.
    Trenne GUI und Logik.
    Wenn es mehr als nur eine Übung sein soll, denke darüber nach, ob es zu Picturebox (und anderen Controls) nicht bessere Alternativen gibt.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

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

    crilind schrieb:

    mehrere Panels gleichzeitig ansprechen
    kannst Du das bitte deutlich präzisieren?
    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!
    guck Grundlagen: Fachbegriffe
    Ich überlege, auch "Unworte" aufzunehmen, und "ansprechen" und "einbinden" wären Kandidaten dafür.

    Weil unter "Kollision einbinden" kannst glaub nichtmal du selbst dir was vorstellen.
    Und was "Panel ansprechen" denn nun bedeuten soll hast du immer noch nicht geklärt.

    Vielleicht willst du ja eine Methode schreiben, der man 2 Panel als Parameter übergeben kann, und die Methode gibt zurück, ob die Panel sich überschneiden. Wie gesagt: keine Ahnung, was du eiglich meinst.
    @EDR: Du solltest mal mehr Support machen, dann versteht man solcherlei Kauderwelsch plötzlich ;)

    PictureBox ist die Spielfigur. Panels sind die Plattformen, auf denen die Spielfigur herumrennt. Kunde möchte nun eine universelle Routine haben, um festzustellen, welches Panel mit der Spielfigur Kontakt hat (daher Kollisionsabfrage). Er hat verständlicherweise absolut keinen Bock, für jedes Panel eine eigene Abfrage zu programmieren.

    @TE: Man kann sich eine List(of TPanel) machen und diese List die einzelnen, abzufragenden TPanels eintragen. Anschließend kann man mittels einer einfachen foreach-Schleife nachschauen, welches Panel gerade mit der PictureBox kollidiert. Mit diesen Infos sollte Google nun glühen und du in kurzer Zeit eine passable Lösung finden ;)

    OlafSt schrieb:

    mehr Support machen
    Die, die Support durchführen, tun dies meist am Telefon, da kann man direkt nachfragen, eas gemeint ist.
    Hier im Forum helfen wir, weil es uns Freude macht, und unentgeltlich. Da fordern wir allerdings ein Mindestmaß an Verständlichkeit.
    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!