none
Problem mit Location von PicuteBoxen RRS feed

  • Allgemeine Diskussion

  • Hallo allerseits, 

    erstmal habe ich euch ein Bild hochgeladen, damit ihr nachvollziehen könnt wovon ich rede. 
    Ich versuche ein Spiel darzustellen, mein Panel soll das Wasser entsprechen, meine 3 PicureBoxen sollen Felsen entsprechen und einen Spieler. 
    Spielablauf: Mein Spieler/Gamer soll sich von einem Felsen zum Anderen bewegen ohne dabei ins Wasser zu fallen, die Felsen bewegen sich von rechts nach links und wenn sie am Ende des Panels sind fängt die Bewegung wieder von vorne an.
    Falls mein Spieler jedoch ins Wasser fallen sollte wird er auf die Startposition gesetzt. 
    Habe dazu einen Code geschrieben, nun habe ich aber das Problem, dass mein Code die Felsen gar nicht berücksichtigt, 
    egal was ich mache, mein Gamer wird auf die Startposition zurückgesetzt.
    Kann mir vielleicht einer sagen warum.
    Wäre für jede Hilfe dankbar 
    mein Gamer Startposition ist die 203/237

    if (gamer.Bounds.IntersectsWith(panel.Bounds)) {
        if (!gamer.Bounds.IntersectsWith(felsen.Bounds)) {
            gamer.Location = new Point(203, 237);
        }
    }

    Sonntag, 11. Mai 2014 16:26

Alle Antworten

  • Hallo,
    ich vermute mal, dass es folgender Zustand ist, der probleme verursacht:

    Denn dadurch wird zwar PANEL berührt, aber kein Felsen. Ich vermute mal, dass du einfach abfragen musst, ob der Spieler auch irklich vollständig im Panel ist. Das geht mit der Contains-Methode:

    if (panel.Bounds.Contains(gamer.Bounds))
    {
        if (!gamer.Bounds.IntersectsWith(felsen.Bounds) )
        {
    Sonst gilt nur zu beachten, das die Logik richtig implementiert wird. (Berühre einen der Felsen (ODER-Verknüpfung) statt berühre alle Felsen (UND-Verknüpfung)).
    Wenn das jedoch nicht dein Problem war, dann nenne uns bitte exakt das auftretende Problem. Am besten mit den Koordinaten und Größen der Controls, um es testen zu können.



    Tom Lambert - C# MVP
    Bitte bewertet- und markiert Beiträge als Antwort. Danke.
    Nützliche Links: .NET Quellcode | C# ↔ VB.NET Konverter
    Ich: Webseite | Code Beispiele | Facebook | Twitter | Snippets

    Sonntag, 11. Mai 2014 17:57
    Moderator