Ich habe kürzlich ein Monogame aufgenommen und arbeite an einem einfachen Top-Down-Spiel, um mich anzufangen und die Grundlagen zu lernen.
Ich habe die Bewegung und die Drehung, um der Maus zu folgen, aussortiert, aber ich bin mit den Kollisionen festgefahren.
Was ich im Grunde wissen möchte, sind zwei Dinge:
- Was wäre der beste Weg, um mit Kollisionen umzugehen? Ich weiß, dass
Rectangle.Intersects(Rectangle1, Rectangle2)
das überlappende Rechteck zurückgegeben wird, aber da sich die Bewegung von oben nach unten auf der x / y-Achse befindet, möchte ich wissen, wo die Kollision stattfindet, damit ich eine Art "Wandgleiten" erstellen kann, das der Spieler nicht bekommt an der Wand stecken.
Ist es wirklich der beste Ansatz, die x / y-Koordinaten des Spielers mit den Koordinaten fester Objekte zu vergleichen und den Spieler dann an seine vorherige Position zu bringen, wenn er die Grenzen eines festen Objekts betritt? Was würdest du vorschlagen? - Was wäre der beste Weg, um Kollisionen auf alle Feststoffe, NPCs usw. anzuwenden? Ich denke gerade darüber nach, eine
gameObject
Klasse zu erstellen , von der alle Objekte erben und nur die Kollisionen dort behandeln.
Danke fürs Lesen und hoffe, dass mir jemand ein paar Tipps geben kann.