Okay, also, ich mache ein kleines Kachel-basiertes Grabspiel, jetzt will ich Kollision machen. Wie würde ich das richtig machen? Ich weiß, wie man überprüft, ob der Spieler mit einer Kachel kollidiert, aber ich weiß nicht, wie man den Spieler tatsächlich stoppt, wenn er gegen eine Wand schlägt.Tile Engine Collision
Dies ist das Spiel, ich habe hier 20x20 Fliesen.
Dies ist der Code, ich bin mit atm:
foreach (Tile tiles in allTiles)
{
if (ply.rect.Intersects(tiles.rect))
{
if (tiles.ID != -1 && tiles.ID != 1)
{
if (ply.X > tiles.X)
{
Console.WriteLine("Right part.");
ply.X = tiles.pos.X + 30;
}
if (ply.X <= tiles.X)
{
Console.WriteLine("Left part.");
ply.X = tiles.pos.X - 30;
}
if (ply.Y > tiles.Y)
{
Console.WriteLine("Bottom part.");
ply.Y = tiles.pos.Y + 30;
}
if (ply.Y <= tiles.Y)
{
Console.WriteLine("Upper part.");
ply.Y = tiles.pos.Y - 30;
}
}
}
}
Machen Sie ['Terraria'] (http://terraria.org/)? – Marty
@Marty Wallace: Nun, ich mache eine Art Klon, ja. – Stan
Ah, Awesome^_^ – Marty