1

我在谷歌上搜索时遇到了很多麻烦,因为我真的不知道它的术语。不过,这必须是一个普遍的问题。我想遍历一个精灵表,但我希望它忽略精灵周围的透明背景,而不是将其作为显示内容的一部分。

例如,如果我有几帧,我想遍历每一帧并加载该图像。然后,在那个框架中,我想通过在图像本身周围绘制一个矩形来缩小它,而不是额外的“背景”。这可能会通过找到不透明像素的精灵角来完成(不确定这部分是如何工作的)。

这有意义吗?再次,不确定在这里使用哪些词......如果不清楚,请告诉我。

这里的目标是加载与其他帧完全一致的精灵,这样它们就不会无意中摆动或反弹。

非常感谢!!

4

1 回答 1

1

我也在开发我的第一款游戏,我的精灵周围的透明区域也有类似的问题,在这种情况下是碰撞。

我所做的是设置它,使每个精灵都有一个位置、一个高度、一个宽度和 X 和 Y 的填充。

Vector2 position = new Vector2(100,100);
int frameHeight = 48;
int frameWidth = 48;
int paddingX = 4;
int paddingY = 3;

有了这些信息,您可以获得所需的信息,例如代表我可以使用的精灵周围的边界框的矩形:

boundingRectangle = new Rectangle(
  (int)position.X + paddingX, 
  (int)position.Y + paddingY, 
  frameWidth - (paddingX * 2), 
  frameHeight - (paddingY * 2));

我在 Kurt Jaegers 的 XNA 4.0 Game Development by Example 中读到了这篇文章(这对我有很大帮助)

于 2013-03-27T17:13:46.210 回答