【发布时间】:2013-06-14 20:17:08
【问题描述】:
我正在使用 XNA Platformer Kit 并且我正在尝试实现一个跟随玩家的相机。我关注David Amador's 2D Camera tutorial,相机按预期工作,它跟随玩家。但问题是,我的所有图块都不应该在“更新”方法中。
图块在屏幕上正确绘制,但是如果我尝试单击图块(我已经实现,如果您用鼠标单击图块,它会中断并消失)没有任何反应,但是如果我单击屏幕底部(在我实施相机之前绘制的瓷砖,它们应该消失。如果有人遇到这个问题,我希望得到一些帮助!
(就像我实现相机时鼠标位置不正确)
这是来自 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;
}
}
【问题讨论】: