2D Mauern mit Sprites



  • Hi!
    Ich versuche schon seit ca. 2 Wochen folgendes Problem zu lösen:
    Ich programmiere ein 2D-Spiel mit DirectX 9 und C++, indem es einen Spieler(Sprite) und diverse Begrenzungen wie Mauern, Türen... gibt. Die Begrenzungen sind ebenfalls Sprites. Soweit ist das auch kein Problem, allerdings habe ich keine Ahnung wie ich
    vor der Bewegung des Spielers prüfen kann ob er sich vor einer Mauer befindet bzw. ob der Weg des Spieler blockiert ist.
    Mein Anstaz für Maueren auf der rechten Seite ist folgender:

    // lpObject = Mauer
    // (*it) = Spieler
    if(lpObject->GetPosition().y + lpObject->GetWidth() + 1 == (*it)->GetPosition().y)
    {			
          return TRUE; //Spieler steht vor Mauer
    }
    else
    {
          return FALSE; // Spieler steht nicht vor Mauer
    }
    

    Habt ihr vielleicht eine Idee wie man das besser lösen könnte, den es funktioniert im Spiel nicht richtig, bzw. wie man nur nicht-transparente Teile des Bildes auf eine bevorstehende Kollision prüfen kann(einige Begrenzungen sollen nicht eckig sein)?

    Vielen Dank



  • weißt du was tiles sind?
    beschreib deine Map als zweidimensionales Array:

    char Map[4][4] =
    {
       {0,2,1,0,0},
       {0,0,0,0,0},
       {0,2,1,0,0},
       {0,2,1,0,0},
       {0,2,1,0,0},
    };
    

    0 ist z.B. Boden, 1 ist Wasser und 2 ist ein Mauerstück
    Dabei hat ein Boden-, Wasser- oder Mauerstück z. B. die Ausmaße 40*40 Pixel

    Dein Spieler kann sich immer nur auf einem Tile der Map befinden z.B.
    x=2, y=2 (also in Pixel 2*40,2*40)
    wenn jetzt Pfeiltaste links gedrückt wirst guckst du ob an Position 3,2 etwas ist was "walkable" ist - wenn ja -> bewege Spieler auf dieses tile - wenn nicht -> bleibe einfach stehen usw.

    Beispiel einer Tilemap:
    http://turing.fh-landshut.de/~jamann/landscape.JPG



  • Danke, dass heißt dann dass ich meine Karte in verschiedene Teile einteilen muss.



  • wäre sinnvoll - vorallem weil dadurch dinge wie pathfinding vereinfacht werden - außerdem gibt es für tilebased Games viele Resourcen im Inet zu finden

    http://www-cs-students.stanford.edu/~amitp/gameprog.html
    http://www.germangamedev.de/index.php?site=article&id=27



  • vielen dank


Anmelden zum Antworten