我正在用C#开发一款uno游戏。 XNA。 在游戏的某个阶段,我需要检测哪个卡位于特定位置。 那么我们如何通过传递屏幕坐标来检测哪个精灵位于某个位置?
答案 0 :(得分:0)
将精灵位置存储在某个变量中,并将屏幕坐标与该变量进行比较。由于精灵覆盖某个区域,您可能不仅要存储其原点,还要存储它的高度和宽度;一个矩形可以很好地完成这项工作。
示例:
class Game1
{
List<Rectangle> cardSpriteAreas; // this is where you store the card's areas
public void Update()
{
Point position = GetInterestingPosition(); // this is the point you want to check
foreach(var spriteArea in cardSpriteAreas)
{
if (spriteArea.Contains(position))
{
// position is contained within the card's area!
}
}
}
}