我正在使用 XNA Platformer Kit & 我正在尝试实现一个跟随玩家的相机。我遵循了David Amador 的 2D 相机教程,相机按预期工作,它跟随玩家。但问题是我所有的图块都不应该在“更新”方法中。
瓷砖在屏幕上正确绘制,但如果我尝试点击瓷砖(我已经实现,如果你用鼠标点击瓷砖,它会中断并消失)没有任何反应,但如果我点击屏幕底部(其中在我实现相机之前绘制的瓷砖,它们应该消失了。如果有人遇到这个问题,我希望得到一些帮助!
(就像我实现相机时我的鼠标位置不正确)
这是来自 Player 类更新方法(这是我进行更改的地方)
代码:
MouseState mouseState = Mouse.GetState();
int cellX = (int)(camera.Pos.X + mouseState.X) / Tile.Width;
int cellY = (int)(camera.Pos.Y + mouseState.Y) / Tile.Height;
if (cellX < Level.Width && cellX >= 0 && cellY < Level.Height && cellY >= 0)
{
if (Level.GetTileAt(cellX, cellY).Collision != TileCollision.Passable)
{
if (Level.tiles[cellX, cellY].isDead != true)
{
selectionHooverRectangle = Level.GetBounds(cellX, cellY);
drawHooverRectangle = true;
hooveredVaildTile = true;
}
else
{
drawHooverRectangle = false;
hooveredVaildTile = false;
}
}
else
{
drawHooverRectangle = false;
hooveredVaildTile = false;
}
}
if (cellX < Level.Width && cellX >= 0 && cellY < Level.Height && cellY >= 0)
{
if (mouseState.LeftButton == ButtonState.Pressed)
{
Level.tiles[cellX, cellY].isDead = true;
}
}